【问题标题】:JSTL c:foreach not iterating through the collection objectJSTL c:foreach 不遍历集合对象
【发布时间】:2013-08-18 11:30:19
【问题描述】:

我之前使用 ui.repeat 来迭代一个集合并创建一些 primefaces 数据表。但是,当时我无法为数据表设置动态 id。所以在做了一些研究之后,我想将其更改为 c:foreach 并尝试。但是,现在我的数据表没有生成,因为我相信在构建c:forach 运行时,集合为空。 我正在使用 jstl 1.2。 填充列表后,我尝试了以下操作。

    HttpServletRequest origRequest=(HttpServletRequest)FacesContext.getCurrentInstance        ().getExternalContext().getRequest();
    origRequest.setAttribute("dataList",dataList);

然后在我的 xhtml 中我尝试了这个: items="${dataList}" 但似乎没有任何效果。请帮忙。

编辑:功能要求

我将在运行时使用 ui:repeat/p:datalist/c:foreach 等生成多个数据表。 然后从我的后端我想访问这些数据表中的每一个,因为我想使用primefaes dataexporter将它们写入pdf文件。为此我想为数据表分配动态ID。但我无法做到工作。

【问题讨论】:

  • 请展示您如何创建这些 primefaces 数据表。
  • 将 jstl 命名空间更改为 xmlns:c="java.sun.com/jstl/core" 现在它进入循环内部。但仍然没有创建表。这就是我创建表的方式 dataList items 的类型是 List>>

标签: jsf jsf-2 primefaces jstl el


【解决方案1】:

来自cmets:

将 jstl 命名空间更改为 xmlns:c="http://java.sun.com/jstl/core";现在它进入了循环

这表明您实际上使用的是 JSTL 1.0,而不是 JSTL 1.1/1.2,这与您在问题中所说的相反。换句话说,您的运行时类路径是一团糟。在这种情况下,一个常见的初学者错误是他们任意下载了一个standard.jar 文件,因为在 JSTL 中某些东西不起作用,他们看到它在一个完全过时或糟糕的资源中的某个地方提到过(我真诚地希望你有其他的 roseindia.xml 文件)。 net 在你一生的互联网黑名单中,对吧?)。使用 JSTL 1.2 时,您应该拥有此文件。

仔细阅读our JSTL wiki page 中的版本概述和安装说明,了解正确的下载链接和正确的方法。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-08-23
  • 2011-08-19
  • 2013-01-15
  • 2018-03-22
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多