如何使用 内 ?(How to use inside a ?)

2019-09-18 02:28发布

我想inlude <ui:include>一个页面动态几次。

码:

<h:dataTable ..>
    <h:column>
        <ui:include  src="#{create_page}">
    <h:column>
<h:dataTable>

现在,当我提出它仍然存在只有最后inlude。 它会记住最后包含的页面只值。 我想在每个create_page唯一实体对象。 我怎样才能做到这一点?

Answer 1:

所述<ui:include>是为在视图生成时执行的标记处理,而<h:dataTable>是为观看期间执行的UI组件呈现的时间。 这意味着<ui:include>之前仅执行一次<h:dataTable>的迭代期间,因此不。 你有效地结束了完全相同的包括每一行源。 当表单提交的行处理一个接一个,直到最后一排,这就是为什么你有效地与最后一排的值结束。

基本上有2种方法来解决这个问题:

  1. 使用<c:forEach>代替<h:dataTable> ,这也运行期间视图生成时间。

  2. 使用标记文件或复合部件的代替<ui:include> ,这个视图中也运行渲染时间。

无论哪种方式,你还需要确保输入值绑定到后面的对象var DataTable的属性,而不是一个相同的后台bean的属性。

也可以看看:

  • JSTL在JSF2的Facelets ...有道理? (所述<ui:include>落在同一类别JSTL)
  • 时使用的<ui:包括>,标记文件,复合材料部件和/或定制的组件?


文章来源: How to use inside a ?