使用Adobe CQ 5.5和JSP作为组件对象.在JSTL中返回结果有些麻烦.
我有一个自定义类的数组.
private static class Asset {
private String displayname;
public Asset(){
}
public String getDisplayName() {
return displayname;
}
public void setDisplayName(String displayname) {
this.displayname = displayname;
}
}
Run Code Online (Sandbox Code Playgroud)
这个片段有效,但我想使用JSTL
for (int i = 0; i < assets.size(); i++) {
Asset c = assets.get(i);
out.println(c.displayname + "<BR>");
}
Run Code Online (Sandbox Code Playgroud)
这就是我想要做的:
request.setAttribute("assetList",assets);
%>
<c:forEach items="${assetList}" var="item" varStatus="status">
<p>Title:</p>
${item.displayname}
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
JSTL确实返回了4个项目,例如工作示例,但是只要我添加${item.displayname},我就会收到错误.
Caused by: javax.el.PropertyNotFoundException: Property 'displayname' not found on type org.apache.jsp.apps.pnc_002dideas.components.homepage.slider.slider_jsp$Asset
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
at javax.el.BeanELResolver.property(BeanELResolver.java:279) …Run Code Online (Sandbox Code Playgroud)