0

我以前使用 ui.repeat 来迭代一个集合并创建一些 primefaces 数据表。但是,当时我无法为数据表设置动态 id。所以在做了一些研究之后,我想把它改成 c:foreach 和try.However,现在我的数据表没有生成,因为我相信在 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。但我无法使其工作。

4

1 回答 1

0

从评论:

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

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

仔细阅读我们的 JSTL wiki 页面中的版本概述和安装说明,以获取正确的下载链接和正确的方法。

于 2013-08-16T11:17:53.313 回答