JSF嵌套组件与表单

时间:2014-09-08 11:41:26

标签: forms jsf components

compA本身可以包含在另一种形式(在使用页面中)时,拥有一个包含表单的复合组件(compA)是否正确?

<!-- composite -->
<cc:implementation>
    <h:form id="innerForm">
        ... composite stuff
    </h:form>
</cc:implementation>

<!-- using page/component -->
<h:form id="outerForm">
    <util:compA ... />
</h:form>

当尝试删除嵌套表单时,复合中的任何ajax调用都将提交整个表单,并且由于某些值可能尚未填充,验证将失败。

对此有没有最佳实践方法?

1 个答案:

答案 0 :(得分:1)

嵌套表单总是一个坏主意,将导致无效的HTML输出。

复合组件本身是Naming Container所以处理只有CC或甚至它的某些部分应该不是问题。 为了防止整个表单被提交,我建议使用partialSubmit="true"来调用PrimeFaces AJAX。请参阅here以供参考。

如果您的AJAX呼叫仍然存在问题,您可以提供CC的相关代码。