在两个不同的视图中重用一个表单JSF

时间:2011-11-20 18:41:44

标签: jsf facelets

是否可以在JSF中的两个不同视图中重用表单?我知道ui:include,但是你如何使用提交按钮上的操作呢?或者我需要复制表格吗?

2 个答案:

答案 0 :(得分:5)

使用<ui:include>时,您可以按<ui:param>参数化bean和/或方法。

<ui:include src="...">
  <ui:param name="bean" value="#{someBeanName}" />
  <ui:param name="action" value="someMethodName" />
</ui:include>

<h:commandButton ... action="#{someBeanName[someMethodName]}" />

您也可以将其设为Facelets标记文件,以便最终得到类似

的内容
<my:someForm bean="#{someBeanName}" action="someMethodName" />

复合组件也是可行的,但IMO并非真正正确的方法。

另见:

答案 1 :(得分:1)

您想要使用复合组件。这些组件可以参数化,以便您可以交换支持bean等。

IBM有关于该主题的一些很好的指南。

Composite components part 1 + 2 and best practices.