Ajax update and submission using h:commandButton

39,865

Solution 1

This is to be done by nesting a <f:ajax> in it.

In effects,

<p:commandButton ... process="@form" update=":statusBlock" />

does exactly the same as

<h:commandButton ...>
    <f:ajax execute="@form" render=":statusBlock" />
</h:commandButton>

Note that the subtle difference with the PrimeFaces equivalent is that PrimeFaces defaults to @form in the process/execute, while the <f:ajax> one defaults to @this, so you might need to explicitly specify execute="@form" over all place where you didn't specify the process attribute in the PrimeFaces component.

See also:

Solution 2

You can just use the standard components alongside f:ajax e.g.

<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>
Share:
39,865
Wizard Sultan
Author by

Wizard Sultan

By Day: A PHP/Android Developer working at a private firm. By Night: A social being, who loves to hang out with friends and family. Passions: Programming (obviously, you gotta love what you do), Photography (Macro &amp; Street Photograph) , Playing the guitar. Never work for money, work hard to gain knowledge, money will automatically follow you. In the end money won't matter, your knowledge will.

Updated on July 22, 2022

Comments

  • Wizard Sultan
    Wizard Sultan almost 2 years

    How to update a div and do partial submission using <h:commandButton>, I have previously used <p:commandButton> to do partial submission by setting the ajax attribute to true and the update attribute to :statusBlock, where the id of the <h:panelGroup> is statusBlock. I am having some designing issues with <p:commandButton> so I cannot use it so I have to use <h:commandButton>.