我正在访问arraylist中的元素。问题出现了,因为所需元素的索引是一个变量。谁能帮助我?
例如<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}]}
感谢
答案 0 :(得分:6)
由于module.moduleId
在EL表达式中,因此将对其进行评估。因此,您无需将其附加到额外的$ {}。
<c:out value="${PARENT_MODULE[module.moduleId]}">
将有效。
答案 1 :(得分:1)
假设PARENT_MODULE
是您给modules
数组的别名
假设module
是对象,moduleId
是模块对象中的属性
试试这个:
< c:out value="${PARENT_MODULE[num].moduleId}"/>
其中num
是一个数字。 PARENT_MODULE[num]
会在数组中的“ num ”位置返回对象module
。之后,您只需访问moduleId
属性。