如何在另一个EL表达式中嵌套一个EL表达式

我正在编写JSP / JSTL,并且试图遍历数据库中的多个项目。

我目前在数据库中有三列${image1}${image2}${image3}。我正在尝试使用以下代码为他们打印信息:

<c:forEach begin="1" end="3" var="i">

${image${i}}

</c:forEach>

有什么办法可以使这项工作吗?

回答:

您不能嵌套这样的EL表达式。

只有事先知道这些变量的范围,才能实现具体的功能要求。这样,您可以在直接访问范围映射时使用花括号符号。您可以用来<c:set>在EL范围内创建由多个变量组成的新字符串变量。您可以使用例如${requestScope}访问请求范围变量的映射。

因此,假设您确实已将这些变量存储在请求范围内,则应该这样做:

<c:forEach begin="1" end="3" var="i">

<c:set var="image" value="image${i}" />

${requestScope[image]}

</c:forEach>

对于会话范围,请改用${sessionScope}映射。

以上是 如何在另一个EL表达式中嵌套一个EL表达式 的全部内容, 来源链接: utcz.com/qa/421036.html

回到顶部