【发布时间】:2025-12-08 12:40:01
【问题描述】:
我的班级:
public class CustomObject {
private String name;
public String getName() {
return "test";
}
}
请求:
List<CustomObject> items = new ArrayList<CustomObject>();
items.add(new CustomObject());
request.setAttribute( "items", items );
这个例子在我的 jsp 中工作:
<div class="container">
<c:forEach items="${items}" var="item">
${item.name}
</c:forEach>
但是当我使用自定义标签时返回错误。为什么不读取属性?
<%@ attribute name="list" required="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${!empty list}">
<c:forEach var="item" items="${list}">
<li><c:out value="${item.name}"/></li>
</c:forEach>
</c:if>
控制台:
原因:javax.el.PropertyNotFoundException:类 'java.lang.String' 没有属性 'name'。
【问题讨论】:
标签: java jsp jakarta-ee jstl el