je suis debutant en java EE et plus precisement en primefaces. il ya tres peu de temps que je commencer a developper une petite que j'essayait d'ajouter, supprimer et modifier. en gros mon probleme c'est que j'arrive pas a modifier une personne. mon project est suit:
ma page de class bean est:
@ViewScoped
public class beans implements Serializable {
/**
* Creates a new instance of beans
*/
@PersistenceUnit
private EntityManagerFactory emf ;
@Resource
private UserTransaction ux ;
public Personne personne = null;
PersonneJpaController daopesronne = null;
public List<Personne> listPersonne = null;
public beans() {
personne = new Personne();
}
public String SupprimerPersonne(){
System.out.println("le bouton a ete confirmer");
try{
this.getDaopesronne().destroy(personne.getId());
}catch(Exception exception){
Logger.getLogger(beans.class.getName()).log(Level.SEVERE,null, exception);
}
return null;
}
public void onRowEdit(RowEditEvent event) {
FacesMessage msg = new FacesMessage("Car Edited", ((Personne) event.getObject()).getId());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void onCellEdit(CellEditEvent event) {
Object oldValue = event.getOldValue();
Object newValue = event.getNewValue();
if(newValue != null && !newValue.equals(oldValue)) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Cell Changed", "Old: " + oldValue + ", New:" + newValue);
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
public void onRowCancel(RowEditEvent event) {
FacesMessage msg = new FacesMessage("Edit Cancelled", ((Personne) event.getObject()).getId());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public String Modifier(){
return "modifier.xhtml";
}
public String SaisirPersonne() throws Exception
{
this.getDaopesronne().create(personne);
return "welcomePrimefaces.xhtml";
}
public PersonneJpaController getDaopesronne() {
return daopesronne = new PersonneJpaController(ux,emf);
}
public String annuler(){
return "index.xhtml";
}
public String ModifierPersonne() throws Exception
{
try{
this.getDaopesronne().edit(personne);
}catch(Exception e){
Logger.getLogger(beans.class.getName()).log(Level.SEVERE,null, e);
}
return "index.xhtml";
}
public String visualiserInformationPersonne(){
return "visualiser.xhtml";
}
public List<Personne> getListPeronne() {
if(listPersonne == null){
listPersonne = new ArrayList<>();
listPersonne = this.getDaopesronne().findPersonneEntities();
}
return listPersonne;
}
public void setListPeronne(List<Personne> listPeronne) {
this.listPersonne = listPeronne;
}
public void setPersonne(Personne personne) {
this.personne = personne;
}
public Personne getPersonne() {
return personne;
}
si je vous explique le resultat que ca produit, c'est que a chaque fois que je clique sur le lien modifier il ya un dialog qui s'ouvre portant les information de la personne a modifier, dans cette dialog est minu d'un bouton "modifier" qui permet de enregistrer les modfication apporté et fermer le popup avec l'event oncomplete. Mais lorsque je clique sur le bouton modifier final, une nouvelle personne est ajouter et c'est pas possible je veux pas qu'il ajoute mais plutot qu'il modifie. si vraiment vous en avez une solution, sachez que je suis interessé et serat la bienvenu. Merci...
Un petit consceil regarde du coter de EL Expression 2 tu n'auras plus besoin de t'est setporpertieActionListener, sinon le problème doit se situer dans ta DAO:
this.getDaopesronne().edit(personne);
Peux tu montrer le code de la DAO ?
Modification sous primefaces
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.