Bonjour,
je débute avec jsf/primefaces et j'ai un problème pour editer (avec un commandLink) dans mon datatable.L'idee est d'avoir au final une pop up pour editer les données.Avec mon code actuel j'ai l'exception suivante :Avertissement: #{userController.modif(use)}: java.lang.NullPointerException or quand je fait System.out.println(user.getNom()); j'ai bien un résultat dans la console.Je comprends pas car en plus le code de la suppression fonctionne et est très proche de la modification.Merci d'avance pour votre aide
Le manageBean:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <p:dataTable value="#{userController.allUser}" var="use" id="dataTableListe" paginator="true" rows="13" paginatorPosition="bottom" emptyMessage="#{msg['application.validator.emptyUserList']}"> <f:facet name="header"> Liste des utilisateurs </f:facet> <p:column sortBy="#{use.userId}" > <f:facet name="header"> <h:outputText value="Identifiant" styleClass="DataTableHeader" /> </f:facet> <h:outputText value="#{use.userId}" styleClass="DataTableLine"/> </p:column> <p:column sortBy="#{use.pwd}"> <f:facet name="header"> <h:outputText value="Password" styleClass="DataTableHeader" /> </f:facet> <h:outputText value="#{use.pwd}" styleClass="DataTableLine"/> </p:column> <p:column sortBy="#{use.nom}"> <f:facet name="header"> <h:outputText value="nom" styleClass="DataTableHeader"/> </f:facet> <h:outputText value="#{use.nom}" styleClass="DataTableLine"/> </p:column> <p:column headerText="Actions"> <p:commandLink id="test" styleClass="DataTableLineLink" value="Modifier" action="#{userController.modif(use)}" update="popup" /> <p:commandLink styleClass="DataTableLineLink" action="#{userController.supprimer(use)}" value="Supprimer" update="confirm" /> </p:column> </p:dataTable>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 @ManagedBean (name="userController") @ViewScoped public class UserController extends Controller implements Serializable { @EJB private UserDAO userDAO; private User user; Collection listUsers=new ArrayList<User>(); @PostConstruct protected void init() { fillListUser(); } private void fillListUser (){ listUsers=userDAO.getAll(); } public Collection<User> getAllUser(){ return listUsers; } public User getSelectedUser() { return this.user; } public void setSelectedUser(User selectedUser) { this.user=selectedUser; } public void supprimer(User selectedUser){ setSelectedUser(selectedUser) ; getConfirmationBean().open(this, getMessage("application.crud.deleteQuestion"),getMessage("application.crud.confirm")); } public void deleteUser(){ getConfirmationBean().open(this, getMessage("application.crud.deleteQuestion"),getMessage("application.crud.confirm")); } public void confirmerSupression() { userDAO.delete(user); fillListUser (); addInformationMessage("application.crud.deleteValidate"); } public void modif(User selectedUser){ this.setSelectedUser(selectedUser) ; System.out.println(user.getNom()); } }
Partager