[PrimeFaces] Editer dans une DataTable
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
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
|
<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> |
Le manageBean:
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
|
@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());
}
} |