范围重叠时使用多个defaultCommands

时间:2015-03-24 17:11:05

标签: jsf primefaces

我有一个h:form,其中包含p:defaultCommand,它将其范围定义为该表单。但是,我也有一个p:dialog,我想要一个不同的默认命令。我可以在对话框中放入另一个p:defaultCommand,并将其范围设置为对话框,但表单中的默认命令优先于它。我查看了生成的HTML,对话框只是表单中的一个元素。有没有办法让这两个元素使用不同的默认命令?

2 个答案:

答案 0 :(得分:5)

存在设计问题。你应该在自己的<h:form>中添加不同的形式。而且,每个对话框应始终有自己的<h:form>

这将立即解决每种形式的不同默认命令的这个特殊问题。

答案 1 :(得分:0)

我在primefaces对话框中遇到了类似的问题:

我的对话框在表单之外,但在运行时它仍然在表单中添加。我认为这与我使用的<ui:include>标签有关。

为了确保将对话框添加到表单之外,我在对话框标记上使用了以下内容:

appendTo="@(body)"

这会将对话框附加为body标记的子对象,确保它不是表单的子对象。