jsf - how to fire method with every ajax request with @ViewScoped -


i use jsf 2.2 , have invoke method every ajax request used @postconstruct in @named @viewscoped fires when call bean first time doesn't fire after because use @viewscoped can give me way invoke method every ajax request

import javax.annotation.postconstruct; import javax.ejb.ejb; import javax.inject.named; import javax.faces.view.viewscoped;   @named(value = "branchesmb") @viewscoped public class branchescontroller extends crudcontroller<branches> implements serializable {      @ejb     private branchesfacade branchesfacade;     private list<string> jsfmessages = new arraylist<>();      /**      * creates new instance of branchescontroller      */     public branchescontroller() {         setentityobject(new branches());         setentityeditobject(new branches());     }      @postconstruct     public void init() {         jsfutil.resetvalidationerror(true, "branchesaddform:branchnamediv");         jsfutil.resetvalidationerror(true, "branchesaddform:branchaddressdiv");         jsfutil.resetvalidationerror(true, "branchesaddform:branchabbreviationdiv");         jsfutil.hidealertmessage("branchesform:messages");         jsfutil.hidealertmessage("branchesaddform:messages");  //        system.out.println("koko");     } } 

you can create method compositesystemevent input parameter , define method inside event tag on xhtml type "prerenderview", below:

on backing bean:

 public void onpageload(componentsystemevent event) {         system.out.println("here");     } 

on xhtml page:

<f:event listener="#{bean.onpageload}" type="prerenderview"></f:event> 

this method called each time before full page load , on every ajax call.


Comments