如何在另一个ELexpression式中嵌套一个ELexpression式
我正在写JSP / JSTL,我试图遍历数据库中的几个项目。
我目前在数据库中有三列,分别是${image1}
, ${image2}
和${image3}
。 我试图使用下面的代码来打印出他们的信息:
<c:forEach begin="1" end="3" var="i"> ${image${i}} </c:forEach>
有什么办法可以使这项工作?
你不能像这样嵌套ELexpression式。
只有事先知道这些variables的范围,才能达到具体的function要求。 这样,您可以直接访问示波器图时使用大括号。 您可以使用<c:set>
在由多个variables组成的EL作用域中创build一个新的stringvariables。 您可以使用例如${requestScope}
来访问请求范围variables的映射。
因此,假设你确实已经在请求范围中存储了这些variables,那么这应该做到:
<c:forEach begin="1" end="3" var="i"> <c:set var="image" value="image${i}" /> ${requestScope[image]} </c:forEach>
对于会话范围,请改用${sessionScope}
地图。
也可以看看:
- 我们的EL维基页面
- EL中的string连接
那么我可以创build一个嵌套的expression式,通过将括号内的嵌套expression式(见下面的例子)..
#{row.Dateapproved eq null ? 'true' : (row.Appealrange > (bindings.Appealvalidation.inputValue) ? 'true' : 'false') }