java - 使用 EL 使用 foreach 遍历 arraylist

标签 java jsp jakarta-ee foreach el

我有课language具有功能IDName 。 我还有一个类Language_ListArrayList<language> lang作为成员变量。

在我的 JSP 页面中,我想访问 ArrayList<language> lang 的 Name 变量使用 EL 和 For Each 循环。

<c:forEach var="language" items="${languages.lang}">
  ${language}<br>
</c:forEach>

但是,它不显示 ant 结果,并且智能感知也不起作用。任何可以帮助我解决这个问题的人 PS: languages 是一个 Bean 变量,包含数据库中的语言列表 我尝试了这个并得到了这个

 <b>${languages.lang}</b>
HTML

[sakila.语言@f1541c、sakila.语言@63c8fabf、sakila.语言@1fc644c7、sakila.语言@11cd751d、sakila.语言@47c3cc0c、sakila.语言@7894ca3、sakila.语言@47066532、sakila .language@74ddda0b、sakila.language@1116441e、sakila.language@4cd21655、sakila.language@74b84dd9、sakila.language@6fff1d6c、sakila.language@55e4d6e5、sakila.language@22d88071、sakila.language@33d88c96、sakila .语言@4df5e671,sakila.language@4aec2cb3,sakila.language@576ac232,sakila.language@76a6dbd7,sakila.language@44ab3d1c,sakila.language@46391c7c,sakila.language@4f7d34e8,sakila.language@251c941d,sakila.language @77400ef3 ]

最佳答案

EL 不访问对象的字段。它访问对象的 bean 属性。这意味着 ${languages.lang} 被转换为对 languages.getLang() 的调用。

如果你没有这样的 setter/getter ,你会得到一个异常。如果它不显示任何内容,可能是因为 languages 为 null,或者因为它的 lang 列表为 null 或为空。为了确认或证实这些猜测,我们需要查看您创建和填充 bean 及其语言列表的代码,以及将其存储在某个位置以使其可以从 JSP 访问的位置。

另一种可能是您忘记在 JSP 开头声明核心标记库。要确认或确认这一点,请粘贴 JSP 代码以及 JSP 生成的 HTML 代码(使用浏览器中的查看页面源代码)

关于java - 使用 EL 使用 foreach 遍历 arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14011647/

相关文章:

java - 如何在 TomEE 中配置 EJB 方法的安全限制?

jakarta-ee - 如何控制或管理JMS队列?例如。更改队列中的消息顺序,删除消息等

java - SSL 在 Oracle Weblogic Server 中不起作用

java - 如何使用复选框将选定行中的数据从 JSP 传递到服务器

java - 带有 XMLEncoder/Decoder 的序列化代理

java - JSP 在 Tomcat 中无法正确呈现

java - 每个路径一个 Servlet 还是在一个 Servlet 中处理多个路径?

java - 我的 servlet 不工作 我收到错误 HTTP404-not found 但我的 jsp +html 文件工作正常

java - 在 Java 中使用 Duration 对象将天、分钟、小时转换为秒失败

java - 我如何告诉 Axis WSDL2Java 从 JAR 中获取 WSDL?