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 :

Récupérer une valeur à une autre page


Sujet :

JSF Java

  1. #1
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2012
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 45
    Par défaut Récupérer une valeur à une autre page
    bonjour tous le monde;

    j'ai une formulaire jsf contient plusieurs champs, et je souhaite remplir le champ(réf facture) par une valeur récupérer a partir d'une liste des factures dans un autre page;

    maintenant j'ai réussis de récupérer la valeur a partir la liste des factures,voilà mon code:

    1) managedBean(mabean7):
    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
     
    private String value1;
     
        public String getValue1() {
            return value1;
        }
     
        public void setValue1(String value1) {
            this.value1 = value1;
        }
     
     
           public void action(ActionEvent event){
            String value1 = (String)event.getComponent().getAttributes().get("attribute1");
            this.value1 = value1;
     
        }
     
            public String gotoDetailFacture(){
    		return "newjsf.xhtml";
    	}
    2) page listeFacture.xhtml:
    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
     
    </p:dataTable>
        <p:dataTable value="#{mabean7.ALL}" var="item">
                   <p:column>
                        <f:facet name="header">
                            <h:outputText value="Réf Facture"/>
                        </f:facet>
                        <h:outputText value="#{item.refFact}"/>
                    </p:column>
     
    //autre column
     
    <p:column>
                       <f:facet name="header"></f:facet>
                       <h:commandButton value="select" action="#{mabean7.gotoDetailFacture}" actionListener="#{mabean7.action}">
                           <f:attribute name="attribute1" value="#{item.refFact}"/>
                       </h:commandButton>
     
                    </p:column>
     
     
                </p:dataTable>
    3) page newjsf.xhtml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <f:view>
                <h:form>
                    <h:outputLabel value="Réf facture:" for="facture" />
                    <h:inputText id="facture" value="#{mabean7.value1}"/>
     
    //d'autre champs
     
                      <h:commandButton value="Create" action="#{mabean6.CreateDetail}" type="submit"/>
    </h:form>
    </f:view>
    4) voila ma méthode de create:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        public Detailfacture createDetail(Detailfacture detailfacture) throws Exception {
     
            em.persist(detailfacture);
            return detailfacture;
     
        }
    le problème quand je clique sur le bouton Create une errure s'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Caused by: java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST: JPA.Facture[refFact=null].

    svp,comment résoudre ce problème

  2. #2
    Membre confirmé Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159
    Par défaut
    Je vais vous donner un exemple

    Dans ton 1er écran : un champ reference
    Dans la 2eme écran : un champ adresse

    alors vous allez creer des getters et setters pour les deux champs et puis les utiliser dans vos écrans sans problème puisque vous êtes toujours dans la même session du managedBean. Donc vous pouvez directement utiliser le champ reference même si vous êtes dans la 2eme écran.

  3. #3
    Membre éclairé Avatar de liquideshark
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2006
    Messages : 347
    Par défaut
    faudrait peut être vérifier les contraintes d'intégrité "CASCADE PERSIST"

Discussions similaires

  1. Transmettre une valeur sur autre page
    Par skins dans le forum Langage
    Réponses: 4
    Dernier message: 29/06/2009, 13h25
  2. appel d'une fonction sur autre page
    Par champion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/03/2007, 14h37
  3. Réponses: 1
    Dernier message: 17/10/2006, 16h01
  4. [TABLE]Récupérer et stocker une valeur
    Par stéphane_ais2 dans le forum Access
    Réponses: 11
    Dernier message: 10/03/2006, 14h52
  5. Réponses: 1
    Dernier message: 22/09/2005, 15h46

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