CommandButton non fonctionnel
Bonjour,
J'ai un problème avec un CommandButton pour valider un formulaire de modification des utilisateurs.
Mon commandButton n'exécute pas ma méthode dans mon beans... et je ne comprend pas poourquoi ?
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<h:head>
<title>Modula Master View</title>
<link rel="shortcut icon" type="image/png" href="#{request.contextPath}/resources/default/images/icon.png" />
</h:head>
<h:body onload="#{login.check()}">
<h:outputStylesheet library="default" name="css/Style_Compte.css"/>
<h:outputStylesheet library="default" name="css/Style_Main.css"/>
<h:outputScript library="default" name="js/JS.js"/>
<h:outputStylesheet name="primeicons/primeicons.css" library="primefaces" />
<!-- Liste Utilisateurs -->
<div class="lUser" id="utilisateur" style="display: none">
<h:form id="mainForm" rendered="#{(login.user.droit == 5 or login.user.droit == 10)}">
<p:growl id="growl" showDetail="true" closable="true" life="2500"/>
<p:dataTable var="listuser"
value="#{userListAdmin.userData}"
widgetVar="userTable"
emptyMessage="Aucun utilisateur trouvé"
filteredValue="#{userListAdmin.filtreuserData}"
globalFilterFunctionr="#{userListAdmin.filterFunction}"
selectionMode="single"
rowKey="#{listuser.login}"
selection="#{userListAdmin.selectedUser}"
id="userTable">
<p:ajax event="rowSelect" update="mainForm:userDetail" />
<p:ajax event="rowSelect" update="mainForm:userDetailEdit" />
<f:facet name="header">
<h2>Liste des utilisateurs</h2>
<p:outputPanel style="text-align: left">
<h:outputText value="Recherche : " />
<p:inputText id="globalFilter" onkeyup="PF('userTable').filter()" style="width: 150px" placeholder="Recherche"/>
</p:outputPanel>
</f:facet>
<p:column headerText="Login" filterBy="#{listuser.login}">
<h:outputText value="#{listuser.login}"/>
</p:column>
<p:column headerText="Nom" filterBy="#{listuser.nom}">
<h:outputText value="#{listuser.nom}"/>
</p:column>
<p:column headerText="Prénom" filterBy="#{listuser.prenom}">
<h:outputText value="#{listuser.prenom}"/>
</p:column>
<p:column headerText="Droit" filterBy="#{listuser.lblDroit}">
<h:outputText value="#{listuser.lblDroit}"/>
</p:column>
<p:column headerText="E-Mail" filterBy="#{listuser.mail}">
<h:outputText value="#{listuser.mail}"/>
</p:column>
</p:dataTable>
<p:contextMenu for="userTable">
<p:menuitem value="Information" icon="pi pi-search" oncomplete="PF('userDialog').show()"/>
<p:menuitem value="Modifier" icon="pi pi-pencil" oncomplete="PF('userDialogEdit').show()"/>
<p:menuitem value="Supprimer" icon="pi pi-times"/>
</p:contextMenu>
<p:dialog header="Information de l'utilisateur" widgetVar="userDialog" modal="true" resizable="false">
<p:outputPanel id="userDetail" style="text-align: center;">
<p:panelGrid columns="2" rendered="#{not empty userListAdmin.selectedUser}" columnClasses="label,value">
<h:outputText value="Login : "/>
<h:outputText value="#{userListAdmin.selectedUser.login}"/>
<h:outputText value="Nom : "/>
<h:outputText value="#{userListAdmin.selectedUser.nom}"/>
<h:outputText value="Prénom : "/>
<h:outputText value="#{userListAdmin.selectedUser.prenom}"/>
<h:outputText value="Droit : "/>
<h:outputText value="#{userListAdmin.selectedUser.lblDroit}"/>
<h:outputText value="E-Mail : "/>
<h:outputText value="#{userListAdmin.selectedUser.mail}"/>
</p:panelGrid>
</p:outputPanel>
</p:dialog>
<p:dialog header="Modification de l'utilisateur" widgetVar="userDialogEdit" modal="true" resizable="false">
<p:outputPanel id="userDetailEdit" style="text-align: center;">
<p:panelGrid columns="2" rendered="#{not empty userListAdmin.selectedUser}" columnClasses="label,value">
<h:outputLabel for="login" value="Login : "/>
<p:inputText value="#{userListAdmin.selectedUser.login}" style="width: 300px" label="login" disabled="true"/>
<h:outputText for="mdp" value="Mot de passe : "/>
<p:inputText type="password" value="#{userListAdmin.selectedUser.mdp}" style="width: 300px" label="mdp" disabled="true"/>
<h:outputText for="nom" value="Nom : "/>
<p:inputText value="#{userListAdmin.selectedUser.nom}" style="width: 300px" label="nom"/>
<h:outputText for="prenom" value="Prénom : "/>
<p:inputText value="#{userListAdmin.selectedUser.prenom}" style="width: 300px" label="prenom"/>
<h:outputText for="droit" value="Droit : "/>
<p:inputText value="#{userListAdmin.selectedUser.lblDroit}" style="width: 300px" label="droit" disabled="true"/>
<h:outputText for="mail" value="E-Mail : "/>
<p:inputText value="#{userListAdmin.selectedUser.mail}" style="width: 300px" label="mail"/>
<f:facet name="footer">
// Problème ici ...
<p:commandButton id="btnfooter" ajax="true" action="#{userListAdmin.updateUtilisateur()}" value="Modifier" update="growl" />
</f:facet>
</p:panelGrid>
</p:outputPanel>
</p:dialog>
</h:form>
</div>
</h:body>
</html> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
package fr.modula.managedBean;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Locale;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.view.ViewScoped;
import fr.modula.beans.User;
import fr.modula.beans.bdd.DAOFactory;
@ManagedBean
@ViewScoped
public class UserListAdmin implements Serializable{
/**
*
*/
private static final long serialVersionUID = 3262582066431200564L;
private ArrayList<User> userData = new ArrayList<User>();
private ArrayList<User> filtreuserData;
private User selectedUser;
@PostConstruct
private void postConstruct() {
DAOFactory DAO = DAOFactory.getInstance();
userData = DAO.User().getListUserGeneral();
}
public ArrayList<User> getUserData() {
return userData;
}
public ArrayList<User> getFiltreuserData() {
return filtreuserData;
}
public void setFiltreuserData(ArrayList<User> filtreuserData) {
this.filtreuserData = filtreuserData;
}
public User getSelectedUser() {
return selectedUser;
}
public void setSelectedUser(User selectedUser) {
this.selectedUser = selectedUser;
}
public boolean filterFunction(Object value, Object filter, Locale locale) {
String filterText = (filter == null) ? null : filter.toString().trim().toLowerCase();
if (filterText == null || filterText.equals("")) {
return true;
}
User user = (User) value;
return user.getLogin().toLowerCase().contains(filterText)
|| user.getNom().toLowerCase().contains(filterText)
|| user.getPrenom().toLowerCase().contains(filterText)
|| user.getLblDroit().toLowerCase().contains(filterText)
|| user.getMail().toLowerCase().contains(filterText);
}
public void updateUtilisateur() {
System.out.println("1");
if(selectedUser.getLogin() != "" && selectedUser.getMdp() != "" && selectedUser.getNom() != "" && selectedUser.getPrenom() != "" && selectedUser.getMail() != "") {
try {
DAOFactory.getInstance().User().updateUser(selectedUser.getNom(), selectedUser.getPrenom(), selectedUser.getMail(), selectedUser.getMdp(), selectedUser.getLogin());
} catch (Exception e) {
// TODO: handle exception
addMessage(FacesMessage.SEVERITY_ERROR, "Erreur", "Impossible de mettre à jour les données");
}
addMessage(FacesMessage.SEVERITY_INFO, "Information", "Les données ont été mises à jour");
}
}
public void addMessage(Severity severity ,String entete, String message) {
FacesMessage sendMessage = new FacesMessage(severity, entete, message);
FacesContext.getCurrentInstance().addMessage(null, sendMessage);
}
} |
Merci d'avance pour votre aide.