当前位置: 首页 > 面试题库 >

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

越心水
2023-03-14
问题内容

我正在编写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算术运算符,EL比较运算符,EL逻辑运算符,EL其它运算符,EL运算符优先级,EL保留字,禁用EL表达式,EL内置对象之前的 JSP 页面中,我们经常使用 JSP 表达式来输出变量或者页面之间传递的参数,大大降低了页面的可读性。 为了简化 JSP 页面,JSP 2.0 新增了 EL(Expression Language)表达式语言。EL 提供了更为简洁、方便的形式来访问变量和参数,不仅可以简化 JSP 页面代码,还会使开发者的逻辑变得更加清晰 。 EL表达式的语

  • 问题内容: 我有以下el表达式: 但是我越来越 如何加入字符串? 问题答案: 您可以使用 String.concat 函数:

  • 虽然可以通过page指令的isELIgnored属性禁止在JSP页面中使用EL表达式,但是对每个JSP页面都设置isELIgnored属性就变得非常麻烦,因此,也可以在web.xml文件中禁止在所有或部分JSP页面中使用EL表达式语言。如果要在当前应用程序所有的JSP页面中禁止使用EL表达式,可以使用如下的配置代码: <web-app ...> ... ... <jsp-confi

  • 问题内容: 我有一个在Tomcat 5.5上运行的JSP页面。我有以下代码: 我得到的输出是: 我无法弄清楚为什么forEach循环有效,但输出无效。任何人可能提供的任何帮助都将是巨大的。 问题答案: 我知道默认情况下应该启用它,但是我一次又一次地跨页面(甚至是更改行为的同一页面)运行EL处理不会发生的页面。将以下内容添加到任何此类页面的顶部应可解决此问题: 我将它添加到每个页面中,因为它不会造成

  • 本文向大家介绍jsp中EL表达式获取数据,包括了jsp中EL表达式获取数据的使用技巧和注意事项,需要的朋友参考一下 jsp标签: <jsp:include> <jsp:forward> 实现请求转发 <jsp:param> 给上面的添加参数的 EL表达式: 1.获取变量数据 你好,${name} 2.获取数组数据 你好,${names[0]} 3.获取集合数据 你好,${names[1]} 你好,

  • 问题内容: 我只是想知道是否可以使用一个正则表达式来匹配另一个,这是某种形式的: 正则表达式完全可以实现这种功能吗?我正在使用python进行工作,因此有关该模块实现的任何建议都将有所帮助,但我将尽我所能获取有关正则表达式的信息。 编辑:好的,显然需要按顺序进行澄清!我绝对知道正常的匹配语法如下所示: 但是我想知道正则表达式是否能够匹配我在上面试图解释的非语法正确版本中的其他较不具体的表达式,bx

  • EL表达式可以使用在任何接收动态内容的标签属性中。在这些属性中既可以只包含一个的EL表达式,也可以包含多个EL表达式和静态文本。 标签属性中只包含一个EL表达式的语法如下: <prefix:tag value = "${表达式}" /> 下面是标签属性包含一个单独EL表达式的示例代码: <jsp:setProperty property="age" name = "myBean" value="$