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 :

Afficher dans un tableau des données directement à l'appel de la JSP


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut Afficher dans un tableau des données directement à l'appel de la JSP
    Bojour,
    Je développe sous Struts la brique d'une appli qui doit afficher dans un tableau des données extraites d'une base de données oracle.
    Cet affichage doit se faire directement à l'appel de la jsp : Quand l'utilisateur clique sur le menu qui mène à cette page, la page lui est envoyée avec le tableau rempli.
    J'ignore ( pardonnez moi mais je débute avec la bête Struts ) comment procéder.
    Pourriez vous m'aiguiller ?
    Merci !

  2. #2
    Expert confirmé

    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
    Par défaut
    Il y a plusieurs discussions qui traitent du sujet sur ce forum, notamment celle-là.

  3. #3
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut Merci
    Effectivement, ça répond à ma question.

  4. #4
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut >>
    Ce que je ne comprend pas, c'est comment l'Action peut être appelée directement quand la jsp est demandée ?
    Qu'elle le soit quand on clique sur le submit d'un form je le comprends, mais comment peut elle générer un tableau de données extraites d'une DB et l'envoyer a la jsp je ne vois pas.
    Pardon, c'est peut-être stupide ma question ....

  5. #5
    Expert confirmé

    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
    Par défaut
    Quand l'utilisateur clique sur le menu qui mène à cette page, il faut exécuter une Action qui remplit la collection à partir des données extraites de la BD et faire un forward vers la jsp qui affiche le contenu de la collection.

  6. #6
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut Ok
    Je vois l'idée.
    Me faut-il deux actions ?
    - une qui sera executée quand le lien vers la jsp est sollicité.
    - une seconde qui gère les forms de cette même jsp.

    Ou puis je tout implémenter dans la même ?
    C'est un peu confus pour moi là ...

  7. #7
    Expert confirmé

    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
    Par défaut
    Pour ma part, dans un cas comme celui-là, je crée deux Actions :
    une qui initialise le formulaire (ex: InitMonAction), et une qui s'exécute au submit du formulaire (ex: MonAction).

  8. #8
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut
    Je vais tenter ça.
    Peut-être reviendrais je te solliciter si je plante ...
    Struts en production réelle, c'est moins simple que sur des applis de test

  9. #9
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut le souci que je rencontre
    est le suivant :
    Dans mon struts-conf.xml j'ai ceci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <action
            		path="/Affiche*"
            		extends="//BaseAction"
            		parameter="Affiche"
            		name="Affiche{1}Form"
            		scope="request"     		     		 
            		validate="true">        		
            		<forward
                        	name="Success"
                        	path=".{1}.page"/>
    		</action>

    La console me sort l'erreur suivante :
    [ERROR] - 2008-07-18 12:17:11,781 - org.apache.struts.actions.DispatchAction - Action[/Affiche........] does not contain method named 'Affiche'
    java.lang.NoSuchMethodException: net.stinfoservices.web.struts.action.NomDeMaClasse.Affiche(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
    Et là je suis paumé madame

  10. #10
    Expert confirmé

    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
    Par défaut
    C'est quoi cet attribut extends ? je ne connais pas.
    Et pourquoi avoir mis un "*" dans le path de l'Action ?
    Je ne vois pas d'attribut type dans laquelle tu es sensé préciser le nom de ton Action précédée du nom du package dans laquelle elle se trouve.

  11. #11
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut
    D'après ce que je vois, ca permet de faire de l'héritage directement dans le struts-conf.xml. Ici BaseAction est la servlet de base qui hérite d'Action. Toutes les autres Actions sont étendues de BaseAction.

    le "*" dans le path permet, à première vue, de considerer tous les path commençant par "affiche".

    Et c'est exact, il n'y a pas d'attribut type.
    L'appli tourne pourtant. Et je n'y comprends pas grand chose. Je pensais que tu pourrais m'éclairer

  12. #12
    Expert confirmé

    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
    Par défaut
    Tu es en Struts 2 ?

  13. #13
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut >>
    Oui madame !

  14. #14
    Expert confirmé

    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
    Par défaut
    Je ne connais pas Struts 2 mais il me semble que le fichier de config s'appelle struts.xml non ?

    Si c'est vraiment du Struts 2, je vais déplacer la discussion dans le forum Struts 2 mais je suis plutôt sceptique.

    En tout cas, en Struts 1, on code comme ceci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <action path="/pathAction" type="monPackage.MonAction"
    	name="nomDuFormBean" scope="request" validate="true" input="/erreur.jsp">	
    	<forward name="Success" path="/maPage.jsp"/>
    </action>

    D'après le mapping que tu as posté, comment va-t'il savoir quelle action exécuter étant donné que tu n'as pas précisé d'attribut type ?

    Désolée mais je n'y comprends rien.

  15. #15
    Membre confirmé Avatar de Bateau_Ivre
    Inscrit en
    Janvier 2008
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 61
    Par défaut Je commence à y voir plus clair ...
    J'ai lu trop vite, je suis en Struts 1. Milles excuses... Ce fil a donc sa place ici.

    En fait toutes les servlets sont étendues de BaseAction qui est une classe Abstraite et qui étend MappingDispatchAction.

    La déclaration sous la forme que tu as vu des Action dans le struts-config.xml permet de normaliser toutes les actions. Struts cherche donc la méthode affiche de la servlet dont le nom lui est passé en paramètre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <action
            	path="/Affiche*"
           		extends="//BaseAction"
            	parameter="Affiche"
            	name="Affiche{1}Form"
            	scope="request"     		     		 
            	validate="true">        		
            	<forward
                       	name="Success"
                        	path=".{1}.page"/>
    </action>
    Ainsi pour toute l'application, il n'y a qu'une seule action de type affiche qui est déclarée. L'appel vers les servlets concerné est ensuite distribué en fonction du paramètre.

    Je sais pas si je suis clair là ?

  16. #16
    Expert confirmé

    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
    Par défaut
    Tu dois être en Struts 1.3 alors.

    Si c'est une MappingDispatchAction, lorsque tu appelles l'Action qui remplit la collection, il faut lui passer le paramètre Affiche avec la bonne valeur.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/10/2013, 20h11
  2. Réponses: 28
    Dernier message: 03/08/2011, 11h56
  3. [XL-2010] Afficher dans un tableau EXCEL des propriétés
    Par Philippe76 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2011, 23h27
  4. Réponses: 34
    Dernier message: 22/11/2010, 00h00
  5. Réponses: 1
    Dernier message: 10/07/2010, 00h07

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