Java 如何将参数传递到ui:include到c:forEach标记中

Java 如何将参数传递到ui:include到c:forEach标记中,java,jsf,richfaces,jstl,Java,Jsf,Richfaces,Jstl,我们正在尝试创建一个列表,通过使用ui:include来迭代实体。 我的.xhtml文件如下: <c:forEach items="#{entityHome.list}" var="entityId"> <ui:include src="/some.xhtml"> <ui:param name="id" value="#{entityId}"

我们正在尝试创建一个列表,通过使用
ui:include来迭代实体。

我的
.xhtml
文件如下:

<c:forEach items="#{entityHome.list}" var="entityId">
    <ui:include src="/some.xhtml">
        <ui:param name="id" value="#{entityId}" />
    </ui:include>
</c:forEach>

我们已经创建了一个
.xhtml
文件来可视化单个实体。我们不需要所有实体的列表。首先,我们使用了一个
h:dataGrid
,但是根据我们将其更改为
c:forEach

现在,当呈现页面时,
/some.xhtml
中的字段为空。我认为我们不能将参数传递给
ui:include
。我的意思是在这种情况下不能

有什么想法吗


谢谢。

我刚刚遇到了同样的问题,我所做的是在ui:include上放置另一个ui:param,然后将该参数链接到ui:include内的参数:

<c:forEach items="#{entityHome.list}" var="entityId">
    <ui:param name="someId" value="#{entityId}"/>
    <ui:include src="/some.xhtml">
        <ui:param name="id" value="#{someId}" />
    </ui:include>
</c:forEach>


这似乎帮了我的忙。

你能包括一些.xhtml吗?我很好奇你需要id参数做什么。嗯……我想做的是;我有一个可视化实体的页面。并且some.xhtml由管理器bean(entityHome)控制。若实体主页是托管的,那个么我基本上是在查询存储并将实例绑定到页面。有了这段代码,for循环并不是循环所有包含项。只显示一个页面,该页面的值为空。这让我觉得我无法将参数传递给some.xhtml页面。您应该检查在构建组件树时entityHome.getList()返回的内容。如果此值可以在不重建树的情况下更改,您可能会遇到参考文章中描述的问题。可能在调试器下的getter上设置断点。