Jsf 2 使用primefaces ajax动态包含来自页面的多个提交
我已经为此挣扎了一段时间,我希望有人能帮助我 我使用JSF-2编写了这段代码(摘自BalusC在中给出的解决方案):Jsf 2 使用primefaces ajax动态包含来自页面的多个提交,jsf-2,primefaces,Jsf 2,Primefaces,我已经为此挣扎了一段时间,我希望有人能帮助我 我使用JSF-2编写了这段代码(摘自BalusC在中给出的解决方案): 然后,在包含的每个页面中,我都有这样的内容(也在工作): 在p:commandButton上,为什么同时使用binding和actionListener属性?顺便问一下,{save}是什么?你是说{itemsBeans.save} 无论您是否在托管bean的save方法中设置actionListener,都不应该绑定它。删除绑定属性并查看是否会阻止多次回发。在p:comma
然后,在包含的每个页面中,我都有这样的内容(也在工作):
在p:commandButton
上,为什么同时使用binding
和actionListener
属性?顺便问一下,{save}
是什么?你是说{itemsBeans.save}
无论您是否在托管bean的save方法中设置actionListener,都不应该绑定它。删除绑定属性并查看是否会阻止多次回发。在p:commandButton
上,为什么同时使用绑定
和actionListener
属性?顺便问一下,{save}
是什么?你是说{itemsBeans.save}
无论您是否在托管bean的save方法中设置actionListener,都不应该绑定它。删除binding属性,看看这是否会阻止多次回发。我必须在每个相应的页面中替换binding=“#{save}”
,例如binding=“#{savePage1}”
,binding=“#{savePage2}”
和binding=“#{savePage2}”
我遇到的另一个错误是在中,我必须在每个相应的页面中替换绑定=“#{save}”
,例如绑定=“#{savePage1}”
,绑定=“#{savePage2}”
和绑定=“#{savePage2}”
我遇到的另一个错误是,默认情况下,primefaces启用了ajax。所以您不需要指定
<p:commandButton value="Save"
update="@form"
process="@this,name,desc"
actionListener="#{itemBean.save}" />
2) “@这”是必须的。它必须处理命令按钮单击。
3) 在中使用prependId=“false”。这将使您能够将process属性中的控件名称指定为实际控件名称,即name、desc,否则您必须在控件前面指定表单名称,如
contentFrom:name,contentForm:desc
Update=@form表示它将在执行后呈现完整的表单
希望这能解决问题。默认情况下,primefaces支持ajax。所以您不需要指定
<p:commandButton value="Save"
update="@form"
process="@this,name,desc"
actionListener="#{itemBean.save}" />
2) “@这”是必须的。它必须处理命令按钮单击。
3) 在中使用prependId=“false”。这将使您能够将process属性中的控件名称指定为实际控件名称,即name、desc,否则您必须在控件前面指定表单名称,如
contentFrom:name,contentForm:desc
Update=@form表示它将在执行后呈现完整的表单
希望这能解决问题。绑定=#{save}
是一种让验证依赖于按下的按钮的解决方法,它与{itemsBean.save}
无关,有关更多信息,请参阅。但是您的答案是正确的,因为binding=#{save}
是问题的根源:在包含的3个页面中,我在binding=#{save}
上使用了相同的名称(“save”),即使其他页面没有呈现,这也是问题的根源。现在问题解决了。感谢您的帮助。binding=#{save}
是一种让验证依赖于按下的按钮的变通方法,它与{itemsBean.save}
无关,请参阅以获取更多信息。但是您的答案是正确的,因为binding=#{save}
是问题的根源:在包含的3个页面中,我在binding=#{save}
上使用了相同的名称(“save”),即使其他页面没有呈现,这也是问题的根源。现在问题解决了。谢谢你的帮助。
<p:commandButton binding="#{save}" value="Save" actionListener="#{itemsBean.save}">
<p:ajax update=":contentForm" process="name desc" />
</p:commandButton>
<p:ajax update=":contentForm" process="name desc" />
<p:ajax update=":contentForm" process="@this name desc" />
<p:commandButton value="Save"
update="@form"
process="@this,name,desc"
actionListener="#{itemBean.save}" />