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

Struts 1 Java Discussion :

[Struts] [Débutant] Comment fonctionne le struts-config.xml ?


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 16
    Points
    16
    Par défaut [Struts] [Débutant] Comment fonctionne le struts-config.xml ?
    Bonjour,

    je suis débutant en J2EE et Struts.
    J'ai testé et recherché sur le net mais je n'arrive pas à résoudre mon problème qui est pourtant simple.

    Ce que je veux faire c'est en cliquant sur un chemin à partir d'une page "index.jsp".
    struts-config.xml lance une Action. Cette action met dans "request" ou "session" un tableau d'objets. Puis il retourne sur une page "jeuUnForm.jsp" pour afficher les objets.

    Fichier struts-config.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            <action input="/jeuUn/jeuUnForm.jsp" name="JeuUnActionForm" path="/gameOne" scope="session" type="com.myapp.struts.jeuun.JeuUnAction"/>
    Fichier index.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            <html:link action="gameOne">Game one</html:link>
    Fichier /jeuUn/jeuUnForm.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            <logic:iterate name="questions" id="question" scope="session">
                <bean:write name="question" property="nameQuestion" />
            </logic:iterate>
    Fichier Action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
            Question questionUn = new Question();
            questionUn.setNameQuestion("question un");
            Question questionDeux = new Question();
            questionDeux.setNameQuestion("question deux");
     
            Question[] listQuestion = new Question[2];
            listQuestion[0] = questionUn;
            listQuestion[1] = questionDeux;
     
            request.setAttribute("questions", listQuestion);
            return mapping.findForward(SUCCESS);
    L'erreur semble que l'objet n'est pas trouvable.

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Dans l'Action, tu as mis le tableau d'objets questions dans le scope request.

    soit tu mets scope="request" dans le logic:iterate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <logic:iterate name="questions" id="question" scope="request">
                <bean:write name="question" property="nameQuestion" />
            </logic:iterate>
    soit plus simplement tu supprimes l'attribut scope :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <logic:iterate name="questions" id="question">
                <bean:write name="question" property="nameQuestion" />
            </logic:iterate>
    Sinon, plutôt que d'utiliser un tableau d'objets, je te conseille d'utiliser une List.
    Tu n'auras ainsi pas besoin de fixer sa taille et Struts est plutôt adapté à des objets de type List qu'à des tableaux d'objets, surtout quand on veut faire de la mise à jour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List questions = new ArrayList() ;
    questions.add(questionUn) ;
    questions.add(questionDeux) ;
    request.setAttribute("questions",questions) ;
    Et enfin, vu que l'Action est liée à un form-bean et qu'au moment où l'Action est exécutée, tu n'as encore rien saisi dans le formulaire, il faut ajouter l'attribut validate="false" dans le mapping de l'Action, car par défaut, il est égale à true.
    Et dans ce cas, il n'est pas utile de coder l'attribut input :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <action path="/gameOne" type="com.myapp.struts.jeuun.JeuUnAction" 
             name="JeuUnActionForm" scope="session" validate="false"/>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Points : 16
    Points
    16
    Par défaut
    Merci de ta réponse .

    En effet il me manquait validate="false".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Hudson] Comment Hudson crée le config.xml ?
    Par NaZeF dans le forum Intégration Continue
    Réponses: 1
    Dernier message: 26/10/2010, 13h45
  2. Réponses: 4
    Dernier message: 17/04/2008, 17h57
  3. [Struts-menu] déplacer le fichier menu-config.xml
    Par mkc44 dans le forum Struts 1
    Réponses: 2
    Dernier message: 25/05/2007, 14h21
  4. Réponses: 2
    Dernier message: 15/05/2006, 10h27
  5. [Débutante] Comment fonctionne une JTable?
    Par delph1983 dans le forum Composants
    Réponses: 38
    Dernier message: 14/03/2006, 16h49

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