Jsf 2 使用primefaces ajax动态包含来自页面的多个提交

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

我已经为此挣扎了一段时间,我希望有人能帮助我

我使用JSF-2编写了这段代码(摘自BalusC在中给出的解决方案):


然后,在包含的每个页面中,我都有这样的内容(也在工作):



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}" />