连接EL字符串以访问每个循环中的项目

时间:2017-03-05 11:40:01

标签: java jsp session jstl

从Java代码中,我动态创建了几个会话对象。 例如:action_ 1 ,action_ 2 action_ 3

所有这些对象都包含项目列表。这些需要在每个循环的JSTL中循环。问题是我无法对JSP进行硬编码以获得会话对象名称,例如:

 <c:forEach items="${action_1}" var="view_actio">
   <c:out value="${view_actio.display_name}"></c:out>
 </c:forEach>

我在另一个会话中有后缀编号&#34;查看&#34;可以${view.view_id}访问。我已尝试以下列方式连接,

第一次尝试:

<c:forEach items="action_${view.view_id}" var="view_actio">
  <c:out value="${view_actio.display_name}"></c:out>
</c:forEach>
  

错误:javax.el.PropertyNotFoundException:Property&#39; display_name&#39;不   在类型java.lang.String

上找到

第二次尝试:

<c:set var="s" scope="session" value="action_${view.view_id}"></c:set> 
    <c:out value="${s}"></c:out>            
<c:forEach items="${s}" var="view_actio">
    <c:out value="${view_actio.display_name}"></c:out>
</c:forEach>
  

Errorjavax.el.PropertyNotFoundException:Property&#39; display_name&#39;不   在类型java.lang.String

上找到

第3次尝试:

<c:forEach items="action_<c:out value="${view.view_name}"></c:out>" var="view_actio">
    <c:out value="${view_actio.display_name}"></c:out>
</c:forEach>
  

错误:org.apache.jasper.JasperException:/WEB-INF/SMGT.jsp(第56行,   column:47)未终止&lt; c:forEach标记

第4次尝试:

<c:set var="s" scope="session" value="action_${view.view_id}"></c:set> 
 <c:forEach items="${requestScope['s']}" var="view_actio">
    <c:out value="${view_actio.display_name}"></c:out>
 </c:forEach>

我不知道这是做什么的,我只是从其他答案中选择了这个。但是,这个既没有产生输出也没有给出错误。所以没用!

基本上,你明白了。我需要访问action_1action_2中的元素。但我无法在JSP中形成它。我尝试了更疯狂的东西,但不能发布一切。

有谁知道如何让它发挥作用?

0 个答案:

没有答案