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 2 Java Discussion :

Interceptors : struts.xml et bibliothèques


Sujet :

Struts 2 Java

  1. #1
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut Interceptors : struts.xml et bibliothèques
    Bonjour à tous,

    J'ai commencé un projet Struts2 en m'inspirant de l'exemple "blank". Et oui, il faut commencer petit.

    Dans mes premiers essais, je parsais un fichier XML dans l'action et j'affichais le résultat dans la jsp, nickel.

    Ensuite, je me suis attaqué à créer un formulaire. Pour cela, dans mon action, j'initialise une collection et dans ma jsp j'utilise <s:checkboxlist /> pour afficher la liste de CheckBox en fonction de ma collection.

    Jusqu'ici, tout va bien.

    Le drame intervient lorsque je clique sur "Submit". Rien ne va plus, impossible de récupérer le moindre paramètres.
    Donc après de longues recherches, je crois que ce qui me manque s'appelle "Interceptor". Mais comment les utiliser ?
    Dans l'exemple "blank", le struts.xml de base ne contient pas ces interceptors et quand je les rajoute (enfin j'essaye), j'ai une erreur au démarrage de Tomcat qui me fait penser que je n'ai pas toutes les bonnes librairies. Car cet exemple "blank" n'a que quelques librairies.

    Bref, malin que je suis, je me dis : ben je vais prendre un autre exemple "show_cases" par exemple. Donc j'ajoute les librairies (toutes :p) et c'est le drame. Une erreur sur "spring" au démarrage de Tomcat. Bref, j'aimerais savoir si c'est possible de me dire ce qu'il manque à mon petit struts.xml et les librairies qu'il faut pour utiliser les interceptors.

    Merci beaucoup

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    Est-ce que tu as bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <package name="..." extends="struts-default">
    quand tu déclare ton package ?

    En faisant ca tu hérites de stack d'imtercepteurs qui est défini dans "struts-default".
    Sinon tu peux également définir tes intercepteurs toi-même...

    Si tu veux, copies ton struts.xml, qu'on puisse le voir.

  3. #3
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    J'ai rajouté ceci :
    <interceptor-ref name="basicStack"/>

    Et je pense que c'est bon.

    Je rentre dans le set de mon attribut

    Néanmoins, ce ne sont pas les bons objets qu'il y a dedans

    Par contre, si je fais :
    Map myMap = ActionContext.getContext().getParameters();

    Dans cette map, il y a des String qui correspondent.

    C'est impossible de récupérer mes objets en entier ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 100
    Points : 90
    Points
    90
    Par défaut
    1) Tu as raison de vouloir définir basick-stack dans struts.xml, comme ca tu peux le réutiliser...

    2) Si tu veux utiliser basick-stack dans getFile il faut que ton package hérite du package où il est défini : "default" et non pas struts-default.

    3) Il y a des stack interceptor qui sont déjà définis par défaut quand tu hérite de "struts-default". Par exemple "defaultStack". Alors, à moins que tu ais des besoins spécifiques, utilises le.

    4) Tu peux déclarer l'interceptor au niveau de chaque action. Mais si tu en as un seul, déclares le au niveau du package, ou même au niveau du package dont tu hérites.

    struts.xml
    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
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
     
    <struts>
     
        <constant name="struts.enable.DynamicMethodInvocation" value="false" />
        <constant name="struts.devMode" value="false" />
     
        <include file="parsing/parsing.xml"/>
        <include file="getFiles/getFiles.xml"/>
     
    	<package name="default" extends="struts-default">
    		<interceptors>
    			<interceptor-stack name="basic-stack">
     
    				<interceptor-ref name="defaultStack" />
     
    			</interceptor-stack>
    		</interceptors>
     
                    <default-interceptor-ref name="basic-stack" />
     
    	</package>
     
     
    </struts>
    getFile.xml
    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
     
     
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
            "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
            "http://struts.apache.org/dtds/struts-2.0.dtd">
     
    <struts>
     
        <package name="getFiles" namespace="/getFiles" extends="default">
     
            <action name="ListeFichiers" class="getFiles.ListeFichiers">
                <result>/WebContent/jsp/getFiles/listeFichiers.jsp</result>
            </action>
     
            <action name="RecupererFichiers" class="getFiles.RecupererFichiers">
                <result type="redirect-action">../parsing/ListeRequetes</result>
            </action>
     
        </package>
    </struts>

  5. #5
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Yep merci, finalement, après une bonne nuit de sommeil, j'y suis arrivé.

    J'ai édité mon message précédent pendant que tu postais. Le problème a évolué

    Merci de ton aide en tout cas

  6. #6
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2004
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2004
    Messages : 204
    Points : 103
    Points
    103
    Par défaut
    Bon je vais me débrouiller

    Je ne récupère que les strings des cases cochées.

    Je vais donc passer ma liste d'objets en session dans la première action
    Et la récupérer dans la deuxieme action et grace aux Strings cochées, je retrouverais mes objets en entier... Un peu lourd mais bon

    Si quelqu'un a une autre méthode ?

Discussions similaires

  1. Lien entre les validators et le struts.xml
    Par piotrr dans le forum Struts 2
    Réponses: 1
    Dernier message: 06/06/2008, 13h58
  2. struts.xml initialiser hashmap
    Par worldchampion57 dans le forum Struts 2
    Réponses: 2
    Dernier message: 14/01/2008, 22h25
  3. Réponses: 1
    Dernier message: 10/08/2007, 14h43
  4. [XML] recherche bibliothèque portable C++
    Par Djakisback dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 20/03/2006, 23h34
  5. [debutant][struts] xml.build
    Par riven dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 17/09/2003, 07h53

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