使用h:commandButton进行Ajax更新和提交

Wiz*_*tan 5 ajax jsf primefaces jsf-2

如何使用更新div和部分提交<h:commandButton>,我以前曾经<p:commandButton>通过将ajax属性设置为true并将update属性设置为:statusBlock来进行部分提交,其中id <h:panelGroup>为statusBlock.我有一些设计问题<p:commandButton>所以我不能使用它所以我必须使用<h:commandButton>.

Bal*_*usC 24

这是通过<f:ajax>在其中嵌套来完成的.

在效果,

<p:commandButton ... process="@form" update=":statusBlock" />
Run Code Online (Sandbox Code Playgroud)

与...完全相同

<h:commandButton ...>
    <f:ajax execute="@form" render=":statusBlock" />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)

请注意,PrimeFaces当量的细微差别是,PrimeFaces默认@form的过程中/执行,而<f:ajax>一个默认@this,所以你可能需要明确指定execute="@form"了,你没有指定所有地方process的PrimeFaces组件属性.

也可以看看:

  • `<f:ajax execute>`与`<p:commandButton process>`完全相同.`<f:ajax render>`与`<p:commandButton update>`完全相同.这些属性仅指定在表单提交期间需要执行/处理的组件(在PrimeFaces的情况下默认为整个表单,并且在标准JSF的情况下默认为当前组件). (5认同)

pla*_*nes 5

您可以将标准组件与 f:ajax 一起使用,例如

<h:form id="myForm">       
  <h:commandButton value="Push Me">
     <f:ajax execute="myForm" render="statusBlock" />
  </h:commandButton>
  <h:panelGroup id="statusBlock">
  </h:panelGroup> 
</h:form>
Run Code Online (Sandbox Code Playgroud)