goh*_*gle 4 datatable jsf facelets uiinclude
我想<ui:include>动态地多次包含一个页面.
码:
<h:dataTable ..>
<h:column>
<ui:include src="#{create_page}">
<h:column>
<h:dataTable>
Run Code Online (Sandbox Code Playgroud)
现在,当我提交它时,它只持续最后一个.它只记住最后一个包含页面的值.我想在每个create_page中使用唯一的实体对象.我怎样才能做到这一点?
它<ui:include>是在视图构建时执行的标记处理程序,<h:dataTable>而是在视图呈现时执行的UI组件.这意味着,<ui:include>只执行一次之前的<h:dataTable>不是迭代期间,因此.您实际上最终会在每一行中使用完全相同的包含源.提交表单时,行将逐个处理,直到最后一行,这就是您有效地结束最后一行的值的原因.
基本上有两种方法可以解决这个问题:
使用<c:forEach>而不是<h:dataTable>,这也在视图构建期间运行.
使用标记文件或复合组件代替<ui:include>,在视图渲染时也会运行.
无论哪种方式,您还需要确保输入值绑定到数据表属性后面的对象var,而不是绑定到同一个支持bean属性.
<ui:include>JSTL属于同一类别)| 归档时间: |
|
| 查看次数: |
1708 次 |
| 最近记录: |