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">×</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
Post a Comment