Using jquery ajax to call a jsf managed bean method (an AjaxBehaviorEvent listener handler) Using jquery ajax to call a jsf managed bean method (an AjaxBehaviorEvent listener handler) ajax ajax

Using jquery ajax to call a jsf managed bean method (an AjaxBehaviorEvent listener handler)


Here you go:

<script type="text/javascript">    doAwesomeness();</script>

In your page:

<a4j:jsFunction name="doAwesomeness" action="#{awesomeBean.awesomeMethod}"/>

Good luck!


jQuery ajax request and JSF ajax request uses different js library's , I don't think there is a point in trying to mix those to too much...

If you whish to fire a JSF managed bean action from jQuery you better use a hidden h:commandButton for that purpose...

JSF:

<h:commandButton id="someId" action="#{someBean.someMethod}" style="display:none">    <f:ajax render="someId" execute="someId"/></h:commandButton>

if you want to pass some more hidden args you can add some more hidden JSF components ids in the hidden h:commandButton execute attribute, that way their corresponding properties will be updated on server side...

js

$("#someId").click();

On the other side , if you want to use managed bean data in servlets that corresponds to your jQuery calls you can always access that JSF managed data, like this : JSF - get managed bean by name


In the same vein as pointed out by islandguy, if you use Primefaces, you woud use the <p:remoteCommand/> command, as follows :

<script type="text/javascript">      doAwesomeness();</script>

with :

 <p:remoteCommand name="doAwesomeness"           actionListener="#{awesomeBean.awesomeMethod}"          oncomplete="jsToExecuteOnAjaxSuccess()" />

Hope this helps..