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 1.3] Erreur : org.apache.struts.actions.ForwardAction


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut [Struts 1.3] Erreur : org.apache.struts.actions.ForwardAction
    Bonjour,

    Voila j'ai un soucis, je tente d'ecrire un petit exemple de code sous struts mais impossible de le faire marcher. Il s'agit d'une simple page qui affiche un formulaire Nom, Prenom, adresse mail et qui lorsque que l'on le valide transmet à une seconde page jsp le resultat.

    Voila la page d'accueil "monFormulaire.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
     
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <html:html>
    <head>
    	<title>Mon formulaire</title>
    </head>
    <body>
    	<html:form action="/Input.do">
    		nom <html:text property="nom"></html:text><br>
    		prenom <html:text property="prenom"></html:text><br>
    		adresse email <html:text property="email"></html:text><br>
    		<html:submit />
    	</html:form>
    </body>
    </html:html>
    Ma page de destination "affiche.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
     
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <html:html>
    <head>
    	<title>Pag affiche</title>
    </head>
    <body bgcolor="white">
    Bonjour <bean:write name="identityForm" property="prenom"/>
    		<bean:write name="identityForm" property="nom"/>
    Nous pouvons vous ecrire au : 
    		<bean:write name="identityForm" property="email"/>
    </body>
    </html:html>
    Mon fichier struts-config.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
    30
    31
    32
    33
    34
    35
    36
    37
    <?xml version="1.0" encoding="ISO-8859-1" ?>
     
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
              "http://struts.apache.org/dtds/struts-config_1_3.dtd">
     
    <struts-config>
     
    <!-- ================================================ Form Bean Definitions -->
     
        <form-beans>
        	<form-bean
                name="identiteForm"
                type="home.actionform.MonFormulaireForm"/>
        </form-beans>
     
    <!-- =========================================== Action Mapping Definitions -->
     
        <action-mappings>
     
        	<action
        		path="/Welcome"
        		forward="/pages/monFormulaire.jsp"/>
     
            <action
                name="identiteForm"
                path="/Input"
                type="org.apache.struts.actions.ForwardAction"
                parameter="/pages/affiche.jsp"/>
     
        </action-mappings>
     
    <!-- ======================================== Message Resources Definitions -->
     
        <message-resources parameter="java.MessageResources" />
     
    </struts-config>
    et ma classe java "MonFormulaireForm.java" :

    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
    package home.actionform;
     
    import org.apache.struts.action.ActionForm;
     
    public class MonFormulaireForm extends ActionForm {
     
    	private static final long serialVersionUID = -8613251001396622334L;
    	private String nom = null;
    	private String prenom = null;
    	private String email = null;
     
    	public String getNom() {
    		return nom;
    	}
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
    	public String getPrenom() {
    		return prenom;
    	}
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
    	public void setEmail(String email) {
    		this.email = email;
    	}
    	public String getEmail() {
    		return email;
    	}
    }
    En executant ce code sur un serveur tomcat classique il me sort apres la validation de mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    javax.servlet.ServletException: org.apache.struts.actions.ForwardAction
    	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    qqun à une idée ? La je craque

  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
    Je ne suis pas certaine que la classe ForwardAction fonctionne en Struts 1.3.

    Il vaudrait mieux créer une Action qui, dans un premier temps pour ton test, fait seulement un forward et la définir comme ceci :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <action path="/Input" type="tonpackage.InputAction" name="identiteForm">
        <forward name="success" path="/pages/affiche.jsp"/>
    </action>

    Sinon, trois remarques :

    La prochaine fois, poste la stacktrace complète de l'erreur.

    Dans affiche.jsp, le nom du form-bean est incorrect.

    Evite de définir un package qui commence par java. C'est réservé.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    merci pour ta reponse, J'ai corrigé pour la jsp 'affiche.jsp'

    Merci aussi pour les conseils. ^^

    Sinon en créant une action je suis obligé de créer une classe "tonpackage.InputAction" pour une redirection.

    Tu me conseils de revenir à struts 1.2 ? Parceque la je suis un guide qui tourne sous strust 1.2 et c'est vrai qu'il y a pas mal de différence...

  4. #4
    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
    Non, il n'est pas utile de revenir en Struts 1.2.
    Personnellement, je n'ai jamais utilisé la ForwardAction, même en Struts 1.2.

    De toute manière, tu seras bien obligé de créer une Action à un moment donné pour traiter ce qui a été saisi dans le formulaire non ?
    Tu ne vas pas te contenter d'afficher le résultat de la saisie ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    C'est vrai je vais etre amener à traiter le resultat d'une saisie mais je me suis dit que c'etait dommage de passer à coté de se genre de chose.
    En fait c'est pour la gestion des balise type "nested" que ça peut devenir interessant.

    Mais remarque on peut la aussi passer par un controleur pour chaque affichage mais ça aurait economiser du code de faire un controleur à la fin de la saisie.
    Faut absoluement que je trouve comment faire en struts 1.3 on sait jamais ))))

  6. #6
    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
    En fait, après vérification, tu peux utiliser la classe ForwardAction en Struts 1.3.
    Elle se trouve dans le jar struts-extras-1.3.n.jar.
    Il faut donc l'ajouter à ton projet.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/10/2008, 14h01
  2. Réponses: 2
    Dernier message: 09/08/2007, 16h36
  3. Réponses: 2
    Dernier message: 06/04/2007, 15h04
  4. Réponses: 2
    Dernier message: 15/01/2007, 14h42
  5. Réponses: 3
    Dernier message: 20/10/2006, 23h53

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