javabeans - JSF APPLY_REQUEST_VALUES lifecycle not call during POST request process -


i create jsf form jquery diaolg. when submit form , request doesn't invoke bean method on first click calls @ second click. implement phaselistener debug , found out during first click restore_view , render_response called. question can cause this.

    <?xml version='1.0' encoding='utf-8' ?> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"       xmlns:h="http://xmlns.jcp.org/jsf/html"       xmlns:ui="http://xmlns.jcp.org/jsf/facelets"       xmlns:forseti="http://xmlns.jcp.org/jsf/composite/components"       xmlns:jsf="http://xmlns.jcp.org/jsf"       xmlns:p="http://xmlns.jcp.org/jsf/passthrough"       xmlns:f="http://xmlns.jcp.org/jsf/core">     <ui:composition >         <div jsf:id="modal-wizard-edit" class="modal">             <div id="user-profile-3" class="modal-dialog">                 <div class="modal-content" style="width:800px;">                     <div id="modal-content">                          <form class="form-horizontal" jsf:id="personne-morale-edit-form" jsf:prependid="false">                             <div class="modal-header no-padding">                                 <div class="table-header">                                     <button type="button" class="close" data-dismiss="modal" aria-hidden="true">                                         <span class="white">&times;</span>                                     </button>                                     results "latest registered domains                                 </div>                             </div>                              <div class="tabbable" style="margin-top: 20px; margin-left: 20px;margin-right: 20px; margin-bottom: 20px;">                                 <ul class="nav nav-tabs padding-16">                                     <li class="active">                                         <a data-toggle="tab" href="#edit-basic">                                             <i class="green ace-icon fa fa-pencil-square-o bigger-125"></i>                                             etat civil/identité                                         </a>                                     </li>                                  </ul>                                  <div class="tab-content profile-edit-tab-content">                                     <div id="edit-basic" class="tab-pane in active">                                          <div class="row">                                             <div class="col-xs-6 col-lg-6 col-md-6 col-sm-6">                                                  <div class="form-group">                                                     <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="edit-raison-sociale">raison sociale:</label>                                                      <div class="col-xs-12 col-sm-9">                                                         <input id="edit-raison-sociale" type="text" jsf:value="#{personnemoralebean.selectedpersonnemorale.raisonsociale}"/>                                                     </div>                                                 </div>                                                   <div class="form-group">                                                     <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="edit-ifu">ifu:</label>                                                      <div class="col-xs-12 col-sm-9">                                                         <input id="edit-ifu" type="text" jsf:value="#{personnemoralebean.selectedpersonnemorale.ifu}"/>                                                     </div>                                                 </div>                                             </div>                                             <div class="col-xs-6 col-lg-6 col-md-6 col-sm-6">                                                  <div class="form-group">                                                     <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="nature_juridique_edit">nature juridique:</label>                                                      <div class="col-xs-12 col-sm-9">                                                         <h:selectonemenu class="chosen-select" id="nature_juridique_edit" value="#{personnemoralebean.selectedpersonnemorale.naturejuridique}" p:data-placeholder="#{bundle.champnatureaffaireclassification}" required="true" >                                                             <f:selectitem itemvalue="" itemlabel="" />                                                             <f:selectitems value="#{personnemoralebean.listenaturejuridiques}" var="item" itemvalue="#{item}" itemlabel="#{item.libelle}" />                                                             <f:converter converterid="naturejuridiqueconverter" />                                                         </h:selectonemenu>                                                     </div>                                                     <script src="../../resources/components/chosen.jquery.min.js"></script>                                                 </div>                                                  <div class="form-group">                                                     <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="secteur_edit">secteurs d'activités:</label>                                                      <div class="col-xs-12 col-sm-9">                                                         <h:selectmanylistbox class="multiselect" id="secteur_edit" value="#{personnemoralebean.selectedpersonnemorale.secteurs}" p:data-placeholder="#{bundle.champnatureaffaireclassification}" p:multiple="" required="true" >                                                             <f:selectitems value="#{personnemoralebean.listesecteuractivites}" var="item"                                                                            itemlabel="#{item.libelle}" itemvalue="#{item}"/>                                                             <f:converter converterid="secteuractiviteconverter"/>                                                         </h:selectmanylistbox>                                                     </div>                                                 </div>                                                 <script src="../../resources/js/bootstrap-multiselect.min.js"></script>                                                 <script type="text/javascript">                                                     $('#secteur_edit').multiselect({                                                         enablefiltering: true,                                                         buttonclass: 'btn btn-white btn-primary',                                                         templates: {                                                             button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"></button>',                                                             ul: '<ul class="multiselect-container dropdown-menu"></ul>',                                                             filter: '<li class="multiselect-item filter"><div class="input-group"><span class="input-group-addon"><i class="fa fa-search"></i></span><input class="form-control multiselect-search" type="text"/></div></li>',                                                             filterclearbtn: '<span class="input-group-btn"><button class="btn btn-default btn-white btn-grey multiselect-clear-filter" type="button"><i class="fa fa-times-circle red2"></i></button></span>',                                                             li: '<li><a href="javascript:void(0);"><label></label></a></li>',                                                             divider: '<li class="multiselect-item divider"></li>',                                                             ligroup: '<li class="multiselect-item group"><label class="multiselect-group"></label></li>'                                                         }                                                     });                                                  </script>                                                  <div class="form-group">                                                     <label class="control-label col-xs-12 col-sm-3 no-padding-right" for="telephone_edit">telephone:</label>                                                      <div class="col-xs-12 col-sm-9">                                                         <forseti:phonenumber id="telephone_edit" value="#{personnemoralebean.selectedpersonnemorale.telephone}"/>                                                     </div>                                                 </div>                                               </div>                                          </div>                                     </div>                                 </div>                             </div>                             <div class="row" style="margin-top: 20px; margin-left: 20px;margin-right: 20px; margin-bottom: 20px;">                                 <div class="clearfix col-sm-12 ">                                      <button  type="submit" jsf:id="submit-morale-edit" class="btn btn-primary btn-block" jsf:action="#{personnemoralebean.doedit}">                                         block button                                     </button>                                 </div>                             </div>                         </form>                     </div>                 </div><!-- /.span -->             </div><!-- /.user-profile -->         </div><!-- page content ends -->          <script type="text/javascript">              function ajaxmonitoringfinishedit(data) {                 if (data.status == "success") {                     $('#modal-wizard-edit').modal('hide');                 }             }         </script>      </ui:composition> </html> 

this form code source

    /*  * change license header, choose license headers in project properties.  * change template file, choose tools | templates  * , open template in editor.  */ package forseti.controller.personne;  import forseti.ejb.naturejuridiquefacade; import forseti.ejb.personnemoralefacade; import forseti.ejb.secteuractivitefacade; import forseti.jpa.personne.naturejuridique; import forseti.jpa.personne.personnemorale; import forseti.jpa.personne.secteuractivite; import java.io.serializable; import java.util.list; import javax.annotation.postconstruct; import javax.faces.event.actionevent; import javax.inject.named; import javax.faces.view.viewscoped; import javax.inject.inject;  /**  *  * @author gildasdarex  */ @named(value = "personnemoralebean") @viewscoped public class personnemoralebean implements serializable {      /**      * creates new instance of personnemoralebean      */     @inject     private personnemoralefacade personnemoralefacade;     @inject     private secteuractivitefacade secteuractivitefacade;     @inject     private naturejuridiquefacade naturejuridiquefacade;      private personnemorale newpersonnemorale;     private personnemorale selectedpersonnemorale;     private list<personnemorale> listepersonnemorales;     private secteuractivite selectedsecteuractivite;      public personnemoralebean() {     }      @postconstruct     public void init() {         newpersonnemorale = new personnemorale();         selectedpersonnemorale = new personnemorale();     }      public personnemorale getnewpersonnemorale() {         return newpersonnemorale;     }      public void setnewpersonnemorale(personnemorale newpersonnemorale) {         this.newpersonnemorale = newpersonnemorale;     }      public personnemorale getselectedpersonnemorale() {         return selectedpersonnemorale;     }      public void setselectedpersonnemorale(personnemorale selectedpersonnemorale) {         this.selectedpersonnemorale = selectedpersonnemorale;     }      public list<personnemorale> getlistepersonnemorales() {         listepersonnemorales = personnemoralefacade.findall();         return listepersonnemorales;     }      public list<secteuractivite> getlistesecteuractivites() {          return secteuractivitefacade.findall();     }      public list<naturejuridique> getlistenaturejuridiques() {         return naturejuridiquefacade.findall();     }      public secteuractivite getselectedsecteuractivite() {         return selectedsecteuractivite;     }      public void setselectedsecteuractivite(secteuractivite selectedsecteuractivite) {         this.selectedsecteuractivite = selectedsecteuractivite;     }      public void docreate() {         newpersonnemorale.setid(newpersonnemorale.getifu());         personnemoralefacade.create(newpersonnemorale);         listepersonnemorales = personnemoralefacade.findall();     }      public void dodel() {         personnemoralefacade.remove(selectedpersonnemorale);     }      public void doedit() {         system.out.println("edit "+selectedpersonnemorale.getid());         system.out.println("edit "+selectedpersonnemorale.getifu());         system.out.println(selectedpersonnemorale.getraisonsociale());         system.out.println(selectedpersonnemorale.getnaturejuridique());         system.out.println(selectedpersonnemorale.getsecteurs().size());         personnemoralefacade.edit(selectedpersonnemorale);     }      public void doremovesecteur() {         selectedpersonnemorale.getsecteurs().remove(selectedsecteuractivite);         personnemoralefacade.edit(selectedpersonnemorale);         listepersonnemorales = personnemoralefacade.findall();     }      public void passitemmoralesecteur(personnemorale personnemorale, secteuractivite secteuractivite) {         selectedpersonnemorale = personnemorale;         selectedsecteuractivite = secteuractivite;     }      public void passitem(personnemorale item) {         selectedpersonnemorale = item;         system.out.println("getitem "+selectedpersonnemorale.getid());      }  } 


Comments