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 :

Message There is no Action mapped for action name [Débutant(e)]


Sujet :

Struts 2 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut Message There is no Action mapped for action name
    Bon =jour, je viens de commencer à m'initier à struts 2 et dès le premier tutoriel que je trouve pour faire un "hello world" j'ai un problème pour récupérer l'action demandée.
    Je suis sûr que j'ai du passer à côté d'un truc à la con mais je ne vois pas ... j'ai comparer plusieurs projets et je ne trouve pas la solution.

    J'ai une archive de mon projet eclipse ici.


    Voici aussi les logs de tomcat :
    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
     
    INFO: Déploiement du descripteur de configuration struts2Tutoriel.xml
    21 nov. 2010 23:34:32 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts-default.xml]
    21 nov. 2010 23:34:32 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Unable to locate configuration files of the name struts-plugin.xml, skipping
    21 nov. 2010 23:34:32 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts-plugin.xml]
    21 nov. 2010 23:34:32 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Unable to locate configuration files of the name struts.xml, skipping
    21 nov. 2010 23:34:32 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts.xml]
    21 nov. 2010 23:34:33 org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Déploiement du descripteur de configuration manager.xml
    21 nov. 2010 23:34:34 org.apache.catalina.startup.HostConfig deployWAR
    INFO: Déploiement de l'archive struts2-blank-2.2.1.war de l'application web
    21 nov. 2010 23:34:34 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts-default.xml]
    21 nov. 2010 23:34:35 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Unable to locate configuration files of the name struts-plugin.xml, skipping
    21 nov. 2010 23:34:35 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts-plugin.xml]
    21 nov. 2010 23:34:35 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts.xml]
    21 nov. 2010 23:34:35 org.apache.catalina.startup.HostConfig deployDirectory
    21 nov. 2010 23:35:18 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
    ATTENTION: Could not find action or result
    There is no Action mapped for action name HelloWorld. - [unknown location]
    Est-ce que quelqu'un peut regarder ça et me dire où je fais une connerie car je tourne en rond dans les docs.

    D'ailleurs, si quelqu'un peut aussi m'expliquer la notion de namespaces pour les packages struts je ne suis pas contre car je ne vois pas trop les nuances et savoir de quel point partir. (Dans le cas en zip, j'ai retiré le namespace mais ça ne marchait pas nom plus sans).

    Merci à tous les contributeurs.

  2. #2
    Membre habitué Avatar de Altenide
    Homme Profil pro
    Formateur en technologies web
    Inscrit en
    Décembre 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Formateur en technologies web
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    voici la correction (nettoyée de ton war) je pense qu'avant de t'attaquer aux namespaces il te faut maitriser les concepts de bases de bons tutoriels ici :

    http://kmdkaci.developpez.com/tutori...-avec-struts2/

    http://www.olivier-guillou.fr/oneand...-avec-struts-2

    http://jlafosse.developpez.com/livre.../presentation/

    pour ton pb voici ce que tu as dans ton fichier struts.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            <action name="HelloWorld" method="execute"
                class="org.tyzef.tutoriel.struts2.actions.hello.HelloWorldAction">
                <result name="success">/jsp/hello/HelloWorld.jsp</result>
            </action>
    Si tu utilises une méthode execute dans ta classe d'action il est inutile de le spécifier dans ta déclaration d'action xml.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       <action name="HelloWorld" 
                class="org.tyzef.tutoriel.struts2.actions.hello.HelloWorldAction">
                <result name="success">/jsp/hello/HelloWorld.jsp</result>
            </action>
    suffit.

    pour le namespace il te manque l'attribut namespace="/rep/rep" qui indique dans quel répertoire tu utilises tes action.

    bon Courage.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Ok ... merci beaucoup... je pourrais tester ça ce soir.

    Citation Envoyé par Altenide Voir le message

    pour le namespace il te manque l'attribut namespace="/rep/rep" qui indique dans quel répertoire tu utilises tes action.

    bon Courage.
    Par contre j'ai vu que tu avais fait une arborescence plus simplifiée. Je tiens (même s'il s'agit d'un test simple) à garder cette architecture pour bien comprendre justement l'utilisation des répertoires (sauf si cette architecture est erronée).
    Du coup, je vois que toi tu as mis le namespace à "/" mais où se place la racine... le répertoire webapps de l'application ? J'avais essayé avec un namespace à "/" mais cela ne marchait pas. Je ne comprends pas vraiment à quoi tu fais références lorsque tu parles "du répertoire qui utilise les actions".Dans ton exemple, aurait-on pu mettre "WEB-INF/classes/actions" ?

    En tout cas merci... j'en dirais peut-être plus ce soir.

  4. #4
    Membre habitué Avatar de Altenide
    Homme Profil pro
    Formateur en technologies web
    Inscrit en
    Décembre 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Formateur en technologies web
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    C'est vrai que le concept de namespace peut paraitre ambigue au premier abord.
    L'attribut namespace subdivise le fichier stuts.xml en modules logiques, chacun ayant son propre suffixe identifiant. Les espaces de nom premettent d'éviter les conflits entre les noms d'actions. En clair chaque namespace peut avoir sa propre configuration pour une action. Lorsque l'on utilise un espace de nom l'on n'a pas besoin de spécifier l'url exacte dans la forme des liens qui apelleront l'action.

    cela n'a rien a voir avec l'organisation de tes packages java. A la question "" aurait-on pu mettre "WEB-INF/classes/actions" "" c'est non.


    Imagine une application web nommée struts2Test, ayant plusieurs "répertoires".

    Prenons l'exemple d'un cms, nous avons une racine (le webcontent) répertoire /, une partie administration ; répertoire
    /admin/ et une partie front, répertoire /front/


    Arborescence de struts2Test

    -Webcontent/
    ------|
    ------| index.jsp
    ------| a.jsp
    ------|admin/
    -------| indexAdmin.jsp
    -------| b.jsp
    ------|front/
    -------| indexfront.jsp
    -------| c.jsp

    nous avons donc trois espaces de nom possibles et nous pouvons définir trois packages dans notre fichiers struts.xml


    http://localhost:8080/Struts2Test/ ; correspond au namespace="/"

    http://localhost:8080/Struts2Test/admin/ ; correspond au namespace="/admin"

    http://localhost:8080/Struts2Test/front/ ; correspond au namespace="/front"


    ce qui me donnera un fichier struts.xml de ce type


    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
    <?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" />
     
    	<package name="racine" namespace="/" extends="struts-default">
     
    		<action name="HelloWorld" class="actions.HelloWorldAction">
    			<result name="success">a.jsp</result>
    		</action>
     
    	</package>
     
    	<package name="espaceAdministration" namespace="/admin" extends="struts-default">
     
    		<action name="HelloWorld" class="actions.HelloWorldAction">
    			<result name="success">b.jsp</result>
    		</action>
     
    	</package>
     
    	<package name="espaceFront" namespace="/front" extends="struts-default">
     
    		<action name="HelloWorld" class="actions.HelloWorldAction">
    			<result name="success">c.jsp</result>
    		</action>
     
    	</package>
     
    </struts>

    prenons l'action helloWorld , que va t'il se passé si on appelle helloWorld depuis /Struts2Test/index.jsp ? nous serons redirigés vers a.jsp, si nous appelons cette action depuis indexAdmin.jsp, nous serons redirigés vers b.jsp etc..

    Struts2 écoute l'action dans un espace de nom donné et renvoie "<result name="success">x.jsp</result>" le résultat dans le même espace de nom.

    L'attribut name de l'espace de nom est laissé à notre discrétion. Les packages peuvent également s'étendre entre eux un peux comme en java. Si une action n'est pas trouvé dans le package fils, le package père sera scanné, si l'action y est présente elle sera éxécutée mais en ayant comme espace de nom celui définit dans le fils etc..

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Ok je pense que je comprends mieux ...
    merci pour les explications ... je donne une note sur mon niveau de capacité ce soir

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Bon ça n'a pas marché ... j'ai tenté dans tous les sens ça ne donne rien.
    J'ai donc recommencé en suivant le premier tutoriel que tu donnais (jusqu'au point iV inclus).

    Citation Envoyé par Altenide Voir le message
    je pense qu'avant de t'attaquer aux namespaces il te faut maitriser les concepts de bases de bons tutoriels ici :

    http://kmdkaci.developpez.com/tutori...-avec-struts2/
    résultat : exectement pareil ... j'ai fait exactement ce qu'il était inscrit.
    Mes seules modifications :
    - ajout de la page jsp/saisir_Developpeur.jsp non décrite
    - modification du nom du package java (vide) en com.developpez.actions

    Alors là je ne comprends rien ... je laisse pour ce soir car je dois bosser demain ...
    Du coup je n'ai pas une bonne note !

    FYI, les logs :
    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
    22 nov. 2010 23:38:11 org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-openjdk/jre/lib/i386/server:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/jvm/java-6-openjdk/jre/../lib/i386:/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client:/usr/lib/jvm/java-6-openjdk/jre/lib/i386:/usr/lib/xulrunner-addons:/usr/lib/xulrunner-addons:/usr/java/packages/lib/i386:/usr/lib/jni:/lib:/usr/lib
    22 nov. 2010 23:38:11 org.apache.tomcat.util.digester.SetPropertiesRule begin
    ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:GestionDeveloppeur' did not find a matching property.
    22 nov. 2010 23:38:11 org.apache.coyote.http11.Http11Protocol init
    INFO: Initialisation de Coyote HTTP/1.1 sur http-8080
    22 nov. 2010 23:38:11 org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 1196 ms
    22 nov. 2010 23:38:11 org.apache.catalina.core.StandardService start
    INFO: Démarrage du service Catalina
    22 nov. 2010 23:38:11 org.apache.catalina.core.StandardEngine start
    INFO: Starting Servlet Engine: Apache Tomcat/6.0.26
    22 nov. 2010 23:38:13 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts-default.xml]
    22 nov. 2010 23:38:13 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Unable to locate configuration files of the name struts-plugin.xml, skipping
    22 nov. 2010 23:38:13 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts-plugin.xml]
    22 nov. 2010 23:38:13 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Unable to locate configuration files of the name struts.xml, skipping
    22 nov. 2010 23:38:13 com.opensymphony.xwork2.util.logging.jdk.JdkLogger info
    INFO: Parsing configuration file [struts.xml]
    22 nov. 2010 23:38:14 org.apache.coyote.http11.Http11Protocol start
    INFO: Démarrage de Coyote HTTP/1.1 sur http-8080
    22 nov. 2010 23:38:14 org.apache.jk.common.ChannelSocket init
    INFO: JK: ajp13 listening on /0.0.0.0:8009
    22 nov. 2010 23:38:14 org.apache.jk.server.JkMain start
    INFO: Jk running ID=0 time=0/57  config=null
    22 nov. 2010 23:38:14 org.apache.catalina.startup.Catalina start
    INFO: Server startup in 2533 ms
    22 nov. 2010 23:38:19 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn
    ATTENTION: Could not find action or result
    There is no Action mapped for namespace / and action name saisir_Developpeur. - [unknown location]

  7. #7
    Membre habitué Avatar de Altenide
    Homme Profil pro
    Formateur en technologies web
    Inscrit en
    Décembre 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Formateur en technologies web
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    envois moi ton war je te dirais ce qui cloche.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Désolé pour le délai d'envoi ... j'ai été occupé et n'ai pas trop avancé par ailleurs...

    GestionDeveloppeur.war


    Merci du suivi

  9. #9
    Membre habitué Avatar de Altenide
    Homme Profil pro
    Formateur en technologies web
    Inscrit en
    Décembre 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Formateur en technologies web
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    tu n'a pas exporté les .java dans ton war [ export / WAR file / [cocher export source files ]

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Altenide Voir le message
    tu n'a pas exporté les .java dans ton war [ export / WAR file / [cocher export source files ]
    Je dirais à peu prêt normal ... aucune classe java n'existe dans ce tutoriel ... du moins jusqu'au point 4 compris ... le mapping d'action se fait sans référence à une classe avec redirection directe vers la jsp.

  11. #11
    Membre habitué Avatar de Altenide
    Homme Profil pro
    Formateur en technologies web
    Inscrit en
    Décembre 2008
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Formateur en technologies web
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    ah ? ok. Pour que ton appli fonctionne mets quand même le struts.xml à la racine de tes src java, là, il est dans le WEB-INF.

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Altenide Voir le message
    ah ? ok. Pour que ton appli fonctionne mets quand même le struts.xml à la racine de tes src java, là, il est dans le WEB-INF.
    Effectivement en déplaçant l'archive dans WebContent/WEB-INF/classes ça marche.

    Je vais continuer par rapport à mon premier cas pour confirmer (ou pas ma compréhension)

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par tyzef Voir le message
    Effectivement en déplaçant l'archive dans WebContent/WEB-INF/classes ça marche.

    Je vais continuer par rapport à mon premier cas pour confirmer (ou pas ma compréhension)
    Et pour mon problème initial cela venait du fait que mon struts (ainsi que mes classes java) était "compilé" dans le répertoire /WebContent/WEB-INF/Classes au lieu de /WebContent/WEB-INF/classes.

    En gros ... bcp de temps perdu pour rien...
    A si pour dire que ça devait se trouver exactement dans ce répertoire.

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Je suis aussi débutante en struts 2 et j'ai essayé de suivre le tuto qui est sur le site d'apache.
    mais j'ai l'erreur
    Could not find action or result: /Mairie/start.action
    There is no Action mapped for namespace [/] and action name [start] associated with context path [/Mairie]. - [unknown location]


    voici ma page index.jsp
    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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Basic Struts 2 Application - Welcome</title>
    </head>
    <body>
    <h1>Welcome </h1>
    <p><a href="<s:url action='start'/>">personne</a></p>
    </body>
    </html>
    mon fichier web.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
     
    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
     
    <web-app>
      <display-name>Thiaroye</display-name>
     
      <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
     
    <filter-mapping>
      <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>
    </web-app>
    mon struts_config
    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
     
    <?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.devMode" value="true" />
     
        <package name="web" extends="struts-default" namespace="/">
     
            <action name="index">
                <result>/index.jsp</result>
            </action>
    	  <action name="start" class="web.PersonneAction" method="start">
    	      <result name="success">personne.jsp</result>
    	    </action>
        </package>
     
    </struts>
    ma classe action
    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
     
    package web;
     
    import model.Personne;
     
    import com.opensymphony.xwork2.ActionSupport;
     
    public class PersonneAction extends ActionSupport {
    private Personne personne;
    	/**
             * 
             */
    	private static final long serialVersionUID = 2463264183006103034L;
     
    	public String start(){
    		personne=new Personne();
    		return "success";
    	}
     
    	public Personne getPersonne() {
    		return personne;[ATTACH=CONFIG]150804[/ATTACH]
    	}
     
    	public void setPersonne(Personne personne) {
    		this.personne = personne;
    	}
     
    }
    Merci de votre aide car cela fait plus d'une semaine que je tourne en rond.
    J'ai essayé plusieurs solutions proposées dans les forum mais rien ne marche.

  15. #15
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    essaies de changer
    struts-config.xml en struts.xml

    Eric

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Un grand merci à vous Eric!
    ça fonctionne!

  17. #17
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    n´ya pas de quoi, nous sommes la pour nous entre-aider.

    Eric

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Problème de mapping entre mon formulaire et mon entité
    Bonjour à tous,

    Après avoir suivi le tuto de struts 2 sur le site d'apache, j'ai voulu y rajouter la partie persistence des données.
    J'ai donc choisi d'utilisé hibernate.
    Cependant,lorsque j'essaie de persister mon entite personne, j'ai l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Hibernate: select nextval ('hibernate_sequence')
    Unknown integral data type for ids : java.lang
    et quand je fait un debug, je vois que, l'objet personne que j'essaie de persister est instancié dans l'odre "dateNaissance", "id", ",nom","prenom" alors que dans mon formulaire j'ai "nom", prenom", "dateNaissance".
    Je dois faire quelque chose qui n'est pas correcte mais je ne sais pas c'est quoi.
    Si quelqu'un peut bien m'aider.
    Voici ma configuration:
    naissance.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      <body>
      <s:form action="validerDeclaration" >
       <sj:textfield  key="personne.nom" />
       <s:textfield  key="personne.prenom"  />
       <sj:datepicker key="personne.dateNaissance"   />
       <s:submit value="Valider"/>
      </s:form>
      </body>
    ma classe action
    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
    public class DeclarerNaissanceAction extends ActionSupport{
     
    	/**
             * 
             */
    	PersonneEntite personne;
    	PersonneDAOImpl personneDAOImpl=new PersonneDAOImpl();
    	private static final long serialVersionUID = 1597190265499702776L;
    	public String validerDeclaration(){
    		personneDAOImpl.savePersonne(personne);
    		return ActionSupport.SUCCESS;
     
    	}
    	public void validate(){
    		if(StringUtils.isEmpty(getPersonne().getNom())){
    			addFieldError(this.getPersonne().getNom(), "Le champs nom ne doit pas être vide");
     
    		}
     
        }
    	public PersonneEntite getPersonne() {
    		return personne;
    	}
    	public void setPersonne(PersonneEntite personne) {
    		this.personne = personne;
    	}
     
     
    }
    La classe PersonneEntite


    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
    public class PersonneEntite implements   Serializable  {
    	/**
             * 
             */
    	private static final long serialVersionUID = -5252913761461205990L;
    	@Id
    	@Column
    	@GeneratedValue
    	private String id;
    	@Column
    	private String nom;
    	@Column
    	private String prenom;
    	@Column
    	@Temporal(TemporalType.DATE)
    	private Date dateNaissance;
     
    	public String getNom() {
    		return nom;
    	}
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
    	public PersonneEntite(){
     
    	}
    	public String getPrenom() {
    		return prenom;
    	}
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
     
    	public PersonneEntite( String nomP, String prenomP, Date dateNais){
    		nom=nomP;
    		prenom=prenomP;
    		dateNaissance =dateNais;
    	}
     
     
    	public String getId() {
    		return id;
    	}
    	public void setId(String id) {
    		this.id = id;
    	}
    	public Date getDateNaissance() {
    		return dateNaissance;
    	}
    	public void setDateNaissance(Date dateNaissance) {
    		this.dateNaissance = dateNaissance;
    	}
     
     
     
    }

Discussions similaires

  1. Erreur "There is no Action mapped "
    Par Death Noto dans le forum Struts 2
    Réponses: 6
    Dernier message: 12/04/2013, 17h32
  2. Cannot retrieve mapping for action
    Par jlon25 dans le forum Struts 1
    Réponses: 16
    Dernier message: 17/07/2007, 11h37
  3. Création d'Action Mapping personnalisée.
    Par DarkWark dans le forum Struts 1
    Réponses: 22
    Dernier message: 18/06/2007, 12h23
  4. Cannot retrieve mapping for action /dologin
    Par gentil dans le forum Struts 1
    Réponses: 9
    Dernier message: 29/03/2007, 14h41
  5. [Struts][Tiles] Probleme d'action mapping avec un dynaform
    Par bluefox_du_974 dans le forum Struts 1
    Réponses: 3
    Dernier message: 28/03/2005, 22h47

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