通过按钮重置来休息对话框值

时间:2017-04-06 15:31:48

标签: ajax jsf primefaces

我正在使用jsf 2.2,并且在进行修改时我试图重置对话框的值。我创建了一个按钮重置,我调用了一个方法" annuler"重置实体的值,但ID不起作用。

<?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:p="http://primefaces.org/ui"
    xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
    <title>La liste des utilisateurs</title>
</h:head>
<h:body>
<h:form id="form">
    <p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />


        <p:dataTable id="tab" value="#{utilisateurBean.listUtilisateur}" var="utl" styleClass="ui-panelgrid-blank"
        widgetVar="table" emptyMessage="aucun utilisateur trouvé" 
                paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {Exporters}"
                paginator="true" rows="15" style="margin-bottom:20px"
        >
         <f:facet name="{Exporters}">
            <h:commandLink>
                <p:graphicImage value="/ressources/images/excel.png" width="24"/>
                <p:dataExporter type="xls" target="tab" fileName="Liste des utilisateurs" />
            </h:commandLink>
        </f:facet>
            <f:facet name="header">La liste des utilisateurs</f:facet>
            <p:column headerText="Matricule utilisateur" filterBy="#{utl.matriculeUtilisateur}"   filterMatchMode="contains">
            <f:facet name="header">
                    </f:facet>
                <h:outputText value="#{utl.matriculeUtilisateur}" />
            </p:column>
            <p:column headerText="Mot de passe">
                <h:outputText value="#{utl.mpUtilisateur}" />
            </p:column>
            <p:column headerText="Nom">
                <h:outputText value="#{utl.nomUtilisateur}" />
            </p:column>
            <p:column headerText="Prénom">
                <h:outputText value="#{utl.prenomUtilisateur}" />
            </p:column>
            <p:column headerText="Type Utilisateur">
                <h:outputText value="#{utl.typeUtilisateur}" />
            </p:column>
            <p:column headerText="Action" width="20%">
            <p:commandButton value="Modifier" update=":form:grid" process="@this" 
                     onclick="PF('dlg').show();">
                    <f:setPropertyActionListener value="#{utl}"
                        target="#{utilisateurBean.utilsateur}" />
                </p:commandButton>

                <p:commandButton value="Supprimer" process="@this"
                    action="#{utilisateurBean.supprimer()}" update="tab">
                        <p:confirm header="Confirmation" message="Etes vous sure?"
                        icon="ui-icon-alert" />

                    <f:setPropertyActionListener value="#{utl}"
                        target="#{utilisateurBean.utilsateur}" />
                </p:commandButton>  
            </p:column>

        </p:dataTable>
<p:dialog widgetVar="dlg" modal="true" resizable="false"
            closable="true">
            <h:panelGrid id="grid" columns="3" cellpadding="5" layout="grid"
            styleClass="ui-panelgrid-blank"  >


            <p:outputLabel for="matriculeUtilisateur" value="Matricule Utilisateur: "
                style="font-weight:bold" />
            <p:inputText id="matriculeUtilisateur" placeholder="Matricule Utilisateur" disabled="true"
                value="#{utilisateurBean.utilsateur.matriculeUtilisateur}" required="true" requiredMessage="Veuillez remplir le champ">
                <f:validateLength maximum="50" minimum="3" />
             <p:clientValidator event="change" />
        <p:ajax event="blur" update="button"  process="@form"/>
            </p:inputText>
            <p:message for="matriculeUtilisateur"  />

            <p:outputLabel for="nomUtilisateur" value="Nom de l'utilisateur: "
                style="font-weight:bold" />
            <p:inputText id="nomUtilisateur" placeholder="Nom de l'utilisateur" validatorMessage="Entrer un champ valide"
                value="#{utilisateurBean.utilsateur.nomUtilisateur}" required="true" requiredMessage="Veuillez remplir le champ">
                <f:validateRegex pattern="^[a-zA-Z ]*$" />
                <f:validateLength maximum="20" minimum="3" />
                 <p:clientValidator event="change" />
        <p:ajax event="blur" update="button"  process="@form"/>
            </p:inputText>
            <p:message for="nomUtilisateur" />

            <p:outputLabel for="prenomUtilisateur" value="Prénom de l'utilisateur: "
                style="font-weight:bold" />
            <p:inputText id="prenomUtilisateur" placeholder="Nom de l'utilisateur" validatorMessage="Entrer un champ valide"
                value="#{utilisateurBean.utilsateur.prenomUtilisateur}" required="true" requiredMessage="Veuillez remplir le champ">
                <f:validateRegex pattern="^[a-zA-Z ]*$" />
                <f:validateLength maximum="20" minimum="3" />
             <p:clientValidator event="change" />
        <p:ajax event="blur" update="button"  process="@form"/> 
            </p:inputText>
            <p:message for="prenomUtilisateur" />

            <h:outputText  for="mp"  value="Mot de passe: *"  style="font-weight:bold"/>
           <p:inputText id="mp"  validatorMessage="Entrer un champ valide"
                value="#{utilisateurBean.utilsateur.mpUtilisateur}" required="true" requiredMessage="Veuillez remplir le champ">     
         <p:clientValidator event="change" />
        <p:ajax event="blur" update="button"  process="@form"/>
        </p:inputText> 
        <p:message for="mp" />  


         <p:outputLabel for="console" value="Type de l'utilisateur:" style="font-weight:bold"/>
        <p:selectOneMenu id="console" value="#{utilisateurBean.utilsateur.typeUtilisateur}" style="width:125px" required="true">

            <f:selectItem itemLabel="Collaborateur" itemValue="Collaborateur" />

         <p:clientValidator event="change" />
        <p:ajax event="blur" update="button"  process="@form"/>    
        </p:selectOneMenu>




        </h:panelGrid>
        <h:panelGrid id="panel" columns="2">
            <p:commandButton update="form"  value="Sauvegarder"  disabled="#{not facesContext.postback or facesContext.validationFailed}"
                id="button" actionListener="#{utilisateurBean.save()}"
                style="background:#6FDC6F;color: #FFFFFF"
                styleClass="customStyleButton" 
                >

                <p:confirm header="Confirmation" message="Êtes-vous sûr ?"
                    icon="ui-icon-alert" />
                <p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
                    <p:commandButton value="Oui" type="button"
                        styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                    <p:commandButton value="Non" type="button"
                        styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                </p:confirmDialog>
            </p:commandButton>


                <p:commandButton value="Modifier" action="#{utilisateurBean.ajoutUtilisateur()}" update="tab"
                    onclick="PF('dlg').hide();" rendered="#{utilisateurBean.clickEdit()}" >
                    <p:confirm header="Confirmation" message="Êtes-vous sûr?"
                        icon="ui-icon-alert" />
                </p:commandButton>

                <p:commandButton value="Reset Code" update="tab" process="@form:tab" actionListener="#{utilisateurBean.annuler()}"  style="background:#FF3232;color: #FFFFFF" styleClass="customStyleButton"  />

        </h:panelGrid>
            </p:dialog>
        </h:form>
    </h:body>
</html>

package com.sopra_hr.GestionRemboursement.beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;

import javax.faces.bean.ViewScoped;

import javax.faces.context.FacesContext;

import org.apache.log4j.Logger;
import org.primefaces.context.RequestContext;

import com.sopra_hr.GestionRemboursement.entities.Assure;
import com.sopra_hr.GestionRemboursement.entities.Utilisateur;
import com.sopra_hr.GestionRemboursement.services.AssureService;
import com.sopra_hr.GestionRemboursement.services.UtilisateurService;
import com.sopra_hr.GestionRemboursement.services.imp.AssureServiceImp;
import com.sopra_hr.GestionRemboursement.services.imp.UtilisateurServiceImp;

@ManagedBean
@ViewScoped
public class UtilisateurBean implements Serializable {

    public static Logger log = Logger.getLogger(UtilisateurBean.class);
    private Utilisateur utilsateur = new Utilisateur();
    private UtilisateurService utilisateurService = new UtilisateurServiceImp();
    private AssureService assureService = new AssureServiceImp();
    private List<Utilisateur> listUtilisateur = new ArrayList<Utilisateur>();

    private List<Assure> listAssure = new ArrayList<Assure>();

    private boolean btnAdd, btnEdit,btnRemove,dataList;
    private boolean read;
    private String msg;
    private Assure assure = new Assure();

    @PostConstruct
    public void init(){
        btnRemove=true;
         assure = new Assure();
            listAssure.add(assure);
    }


    public void clickAdd() {
        btnAdd = true;
        btnEdit = false;
        utilsateur = new Utilisateur();
        read = false;
        msg = "ajout avec succes";
    }

    public void clickEdit() {
        btnAdd = false;
        btnEdit = true;
        read = true;
        msg = "Modification avec succes";
    }

    public void addAssure() {

         assure = new Assure();
        listAssure.add(assure);
        if(listAssure.size()>1){
            btnRemove=false;

        }else{
            btnRemove=true;
        }

    }

    public void removeAssure() {

        listAssure.remove(listAssure.size() - 1);
        if(listAssure.size()>1){
            btnRemove=false;

        }else{
            btnRemove=true;
        }
    }


    public void sendName(String name) {
        assure.setNomAssure(name);
    }
    public void sendLastName(String name) {
        assure.setPrenomAssure(name);

    }
    public void ajouterUtilisateur() {

        try {

            boolean var = utilisateurService.enregistrer(utilsateur);

            if (var) {
                for (Assure assure : listAssure) {

                    assure.setUtilisateur(utilsateur);
                    assureService.save(assure);
                }
                utilsateur = new Utilisateur();
                listAssure = new ArrayList<Assure>();
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Utilisateur ajouté avec succes"));
            } else {
                FacesContext.getCurrentInstance().addMessage(null,
                        new FacesMessage(FacesMessage.SEVERITY_WARN, "Utilisateur existant!", ""));

            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_FATAL, "Erreur", ""));

        }

    }

    public void save() {

        ajoutUtilisateur();

    }

    public void ajoutUtilisateur() {

        try {
            utilisateurService.save(utilsateur);
            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "", msg));
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "Erreur d'insertion"));
            e.printStackTrace();
        }

    }

    public void supprimer() {

        try {
            utilisateurService.delete(utilsateur);
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_INFO, "", "Suppression avec succes"));
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null,
                    new FacesMessage(FacesMessage.SEVERITY_ERROR, "", "Erreur de suppression"));
            e.printStackTrace();
        }
    }

    public void annuler() {
        utilsateur = new Utilisateur();
    }

    public Utilisateur getUtilsateur() {
        return utilsateur;
    }

    public void setUtilsateur(Utilisateur utilsateur) {
        this.utilsateur = utilsateur;
    }

    public List<Utilisateur> getListUtilisateur() {
        try {
            listUtilisateur = utilisateurService.findAll();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return listUtilisateur;
    }

    public void setListUtilisateur(List<Utilisateur> listUtilisateur) {
        this.listUtilisateur = listUtilisateur;
    }

    public List<Assure> getListAssure() {

        if(!listAssure.isEmpty()){
            dataList=true;
        }

        return listAssure;
    }

    public void setListAssure(List<Assure> listAssure) {
        this.listAssure = listAssure;
    }

    public Assure getAssure() {
        return assure;
    }

    public void setAssure(Assure assure) {
        this.assure = assure;
    }

    public boolean isBtnRemove() {
        return btnRemove;
    }

    public void setBtnRemove(boolean btnRemove) {
        this.btnRemove = btnRemove;
    }


    public boolean isDataList() {
        return dataList;
    }


    public void setDataList(boolean dataList) {
        this.dataList = dataList;
    }



}

0 个答案:

没有答案