我的班级:
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:该类 &#39; java.lang.String中&#39;没有属性&#39; name&#39;。
答案 0 :(得分:1)
指定属性类型,不指定list
属性类型默认为String
:
<%@ attribute name="list" required="true" type="java.util.List" %>