【问题标题】:how to access an element of arraylist in jsp when index is a variable?当索引是变量时,如何在jsp中访问arraylist的元素?
【发布时间】:2013-02-12 22:18:06
【问题描述】:

我正在访问数组列表中的一个元素。由于所需元素的索引是一个变量,因此出现了问题。谁能帮帮我?

例如<td><c:out value="${PARENT_MODULE[module.moduleId]}"> </c:out></td>

这里的module.moduleId是一个变量。

我已经试过了

<c:out value="${PARENT_MODULE[${module.moduleId}]}">

但是这会产生错误。

org.apache.jasper.JasperException: /WEB-INF/jsp/showModules.jsp(40,20) "${PARENT_MODULE[${module.moduleId}]}" 包含无效的表达式:javax.el .ELException:解析错误:${PARENT_MODULE[${module.moduleId}]}

谢谢

【问题讨论】:

  • 你不需要在module.moduleId 周围使用${},&lt;c:out value="${PARENT_MODULE[module.moduleId]}"&gt; 应该可以工作。
  • 非常感谢!我从来没有尝试过..因为我认为这不太可能..

标签: jsp arraylist springsource


【解决方案1】:

由于module.moduleId 在 EL 表达式中,它将被计算。因此,您无需将其包含在额外的 ${} 中。

&lt;c:out value="${PARENT_MODULE[module.moduleId]}"&gt; 可以工作。

【讨论】:

    【解决方案2】:

    假设PARENT_MODULE 是您给modules 数组提供的别名 假设module 是对象,moduleId 是模块对象中的一个属性

    试试这个:

    < c:out value="${PARENT_MODULE[num].moduleId}"/>
    

    num 是一个数字。 PARENT_MODULE[num] 将在数组中的“num”位置返回对象module。然后你所要做的就是访问moduleId 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      相关资源
      最近更新 更多