小编Jes*_*ito的帖子

JSTL针对每个问题

我有一个for循环,当使用scriplet以下列方式填充items属性时,它工作正常:

<%
    List<LandingCategory> cats = beanFactory.getLandingCategories();
%>

<c:forEach var="cat" items="<%=cats%>">
    <c:out value="${cat.id}"/>          
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

但是,当尝试使用另一个jsp文件中指定的参数填充项目列表时,for each将无效.

JSP1
<jsp:include page="/jsp/modules/index/index_categories.jsp">    
    <jsp:param name="categories" value="<%=cats%>"/>
</jsp:include>

JSP2
<c:forEach var="cat" items="${param.categories}">
    <c:out value="${cat.id}"/>          
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

抛出以下错误:

javax.servlet.jsp.el.ELException: Unable to find a value for "id" in object of class "java.lang.String" using operator "."
Run Code Online (Sandbox Code Playgroud)

似乎它正在考虑项目列表的对象是字符串,但我不知道为什么会发生这种情况.

有没有人有任何想法?

谢谢

java foreach jsp jstl

1
推荐指数
1
解决办法
3241
查看次数

标签 统计

foreach ×1

java ×1

jsp ×1

jstl ×1