当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-06-25
我正在编写JSP / JSTL,我正在尝试迭代数据库中的几个项目. 我目前在数据库中有三列,${image1},${image2}和${image3}.我正在尝试使用以下代码为它们打印出信息: c:forEach begin="1" end="3" var="i" $
我正在编写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}映射.

也可以看看:

> Our EL wiki page
> String Concatenation in EL

网友评论