IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Action éxecutée a partir d'un modelPanel Richfaces


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 184
    Par défaut Action éxecutée a partir d'un modelPanel Richfaces
    Bonjour,
    J'ai un formulaire dans un model panel remplit apartir d'une ligne de datatable mais quand je clique sur le bouton submit et j'appel la fonction update sur l'objet recuperer rien ne se produise.
    J'ai changé mon bean en session et là j'ai une execption qui me dise que j'ai 2 objet dans ma session qui ont le même ID .
    Si quelqu'un peut m'aider pour resoudre se problème je le remercie

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par cyclopsnet Voir le message
    Bonjour,
    J'ai un formulaire dans un model panel remplit apartir d'une ligne de datatable mais quand je clique sur le bouton submit et j'appel la fonction update sur l'objet recuperer rien ne se produise.
    J'ai changé mon bean en session et là j'ai une execption qui me dise que j'ai 2 objet dans ma session qui ont le même ID .
    Si quelqu'un peut m'aider pour resoudre se problème je le remercie
    tu peux poster la trace de l'exception, ça nous aiderais à comprendre.

  3. #3
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 184
    Par défaut
    je suis po sur mon poste de developpement mais j'ai mon code avec moi
    code du modelPanel :
    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
    <rich:modalPanel id="editAnnee" autosized="true" width="450">
                                                <f:facet name="header">
                                                    <h:outputText value="Modifier l'année en cour" />
                                                </f:facet>
                                                <f:facet name="controls">
                                                <h:panelGroup>
                                                    <h:graphicImage value="/images/Close.png" id="hidelink" />
                                                    <rich:componentControl for="editAnnee" attachTo="hidelink" operation="hide" event="onclick" />
                                                </h:panelGroup>
                                                </f:facet>
                                                <h:form id="updateAnnee">
     
                                                <h:panelGrid columns="1">
                                                <a4j:outputPanel ajaxRendered="true">
                                                <h:panelGrid columns="3">
                                                    <h:outputText value="# ID :" styleClass="LblLev2Txt" />
                                                    <h:inputText value="#{AnneeScol.annee.idAns}" disabled="true" />
                                                    <h:outputText value=""  />
                                                    <h:outputText value="Année scolaire :" styleClass="LblLev2Txt" />
                                                    <h:inputText  id="anscol" value="#{AnneeScol.annee.anSc}" />
                                                    <h:outputText value=""  />
                                                </h:panelGrid>
                                                <h:message for="anscol" showSummary="true" styleClass="error" />
                                                </a4j:outputPanel>
                                                <a4j:commandButton value="Modifier" action="#{AnneeScol.update}" reRender="anSc" oncomplete="if(#{facesContext.maximumSeverity==null}) {javascript:Richfaces.hideModalPanel('editAnnee')}"
                                                styleClass="Btn1"
                                                    type="submit"
                                                />
                                                </h:panelGrid>
                                                </h:form>
                                                </rich:modalPanel>
    le code du bean:
    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
    68
    69
    70
    71
    72
    73
    public class AnneeScol {
     
            AnneeScolaire annee;
        List<AnneeScolaire> annScol;
        private DataModel dataAnnee = new ListDataModel();
     
        public AnneeScol() {
        }
     
     
        public DataModel getDataAnnee() {
            dataAnnee.setWrappedData(getAnnScol());
            return dataAnnee;
        }
     
        public void setDataAnnee(DataModel dataAnnee) {
            this.dataAnnee = dataAnnee;
        }
     
     
        public AnneeScolaire getAnnee() {
          // annee= (AnneeScolaire) dataAnnee.getRowData();
            return annee;
        }
     
        public void setAnnee(AnneeScolaire annee) {
            this.annee = annee;
        }
     
        public List<AnneeScolaire> getAnnScol() {
            ImAnneeScolaire ann=new ImAnneeScolaire();
            setAnnScol(ann.getAnnScols());
            return annScol;
        }
     
        public void setAnnScol(List<AnneeScolaire> annScol) {
            this.annScol = annScol;
        }
     
        public void getRow(ActionEvent e){
          annee= (AnneeScolaire) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("AnnScol");
              }
     
     
       public String update(){
           ImAnneeScolaire ann=new ImAnneeScolaire();
            FacesContext context = FacesContext.getCurrentInstance();
            if(annee.getAnSc().equals("")){
     
                FacesMessage message=new FacesMessage();
                message.setDetail("Année scolaire obligatoire.");
                message.setSummary("Année scolaire obligatoire.");
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
                context.addMessage("updateAnnee:ansol", message);
    					return "failure";
            }else{
                annee.setAnSc(annsc);
                annee.setIdAns(idsco);
               if(ann.updateAnnScol(annee)){
     
    					return "success";
               }else{
                    FacesMessage message=new FacesMessage();
                message.setDetail("Problème.");
                message.setSummary("Problème.");
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
                context.addMessage("updateAnnee:ansol", message);
                   return "failure";
               }
       }
     
    }
    }

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Par défaut
    Je ne vois pas comment on peut dupliquer un objet en session avec jsf.

    Peux-tu nous donner le code de ta page web en entier ? (pas seulement la modal panel)
    C'est peut-être une duplication d'id à ce niveau non ?

  5. #5
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 184
    Par défaut
    Voila l'érreur affiché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
    Et j'ai un autre érreur :
    org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.model.annee#1]

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par cyclopsnet Voir le message
    Voila l'érreur affiché :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions
    Et j'ai un autre érreur :
    org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.model.annee#1]
    Il s'agit là d'une erreur hibernate, pas un problème JSF.

Discussions similaires

  1. [SP2010] Custom action création document à partir de template
    Par James Dt dans le forum Développement Sharepoint
    Réponses: 5
    Dernier message: 17/07/2014, 09h33
  2. Réponses: 10
    Dernier message: 20/05/2011, 08h20
  3. Réponses: 5
    Dernier message: 21/12/2009, 21h31
  4. Erreur d'éxecution modèle à partir d'un GUI
    Par DomCote dans le forum Simulink
    Réponses: 0
    Dernier message: 23/05/2008, 19h43
  5. Réponses: 5
    Dernier message: 14/12/2007, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo