使用foreach使用EL遍历arraylist

时间:2012-12-23 14:12:45

标签: java jsp java-ee foreach el

我的课程language包含IDName功能。 我有另一个Language_ListArrayList<language> lang作为成员变量。

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

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

然而,它没有显示蚂蚁结果,智能感知也不起作用。任何可以帮助我的人 PS:languages是一个Bean变量,包含来自DB的语言列表 我试过这个并得到了这个

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

[sakila.language@f1541c,sakila.language@63c8fabf,sakila.language@1fc644c7,sakila.language@11cd751d,sakila.language@47c3cc0c,sakila.language@7894ca3,sakila.language@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.language @ 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 ]

1 个答案:

答案 0 :(得分:2)

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

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

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