java - Struts2 当索引是变量时访问列表的特定索引

标签 java jsp struts2 ognl

当索引是一个变量时,我在访问列表的特定元素时遇到了一些麻烦。

当索引只是一个数字时,显示我要查找的内容完全没有问题。

<s:property value="#session.userList[1].email" />

效果很好,并显示在 UserList 的该元素中找到的电子邮件

但是,当我将索引更改为变量时,我很难找到编写 ognl 语句的正确方法。我已经尝试了我能想到的 %# 的所有组合,但都没有成功。

<s:set var="userIndex" >${param.index}</s:set>
<s:property value="#session.userList[#userIndex].email" />

我应该如何格式化我的 ognl 语句?

最佳答案

你应该像这个例子一样格式化它:

<s:set var="userIndex" value="%{@java.lang.Integer@valueOf(#parameters.index)}" />
<s:property value="%{#session.userList[#userIndex].email}" />

如果您正在使用 struts 标签,最好使用 OGNL 代替 EL 来评估表达式。强制 OGNL 评估整个表达式而不是部分。

需要将变量的值转换为整型。用于名称的字符串类型。

关于java - Struts2 当索引是变量时访问列表的特定索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15882328/

相关文章:

java - Lombok @Log 和@Slf4j 没有错误方法

java - 如何配置 log4j.xml 以从 log4j 迁移到 log4j2?

java - 为什么我用 + 添加字符后,我的字符串变成整数而不是字母?

java - 通过文本获取HTML元素

java - 继承程序出现编译器错误 58

java - Adobe CQ。获取当前页面路径

java - 仅用函数文件替换 OOP 代码(SP 而不是 OOP)

java - Struts + JSP中为下拉创建Mysql SELECT语句的逻辑是什么?

java - Struts2 - 如何将 JSP 页面的结果作为操作类中的字符串(用于电子邮件)

java - Web 应用程序问题的 Struts2 web.xml 文件过滤器 jar