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 :

[DEBUTANT][Struts]Pb method ActionForward


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 15
    Points : 11
    Points
    11
    Par défaut [DEBUTANT][Struts]Pb method ActionForward
    Bonjour le forum !

    Je fais mon 1er prog en struts et j'ai un problème de passage et récupération de paramètre.

    Voici mon code et mon erreur.
    Si quelqu'un peut me donner un petit coup de main

    De plus j'utilise eclipse, peut-on compiler et voir ses erreurs de compil dans Eclipse ?

    mon TestAction.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
    31
    32
    package action;
     
    import java.io.IOException;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
     
    public class TestAction extends Action {
     
    	    public ActionForward execute(
    		ActionMapping mapping,
    		ActionForm form,
    		HttpServletRequest req,
    		HttpServletResponse res)
     
    		throws IOException, ServletException {
     
    		String cible = "ok";
     
    		req.setAttribute("MON_OBJET", "Test de passage de paramètre");
     
    		return (mapping.findForward(cible));
     
    		}
     
    }
    Une partie de mon 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
    <!-- ========== Action Mapping Definitions ============================== -->
      <action-mappings>
     
        <!-- Process a user logoff -->
        <action    path="/test"
                   type="action.TestAction">
          <forward name="ok"              path="/test.jsp"/>
          <forward name="ko"              path="/suite.jsp"/>
        </action>
     
     
      </action-mappings>
    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
    16
    17
    18
    19
    20
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
     
    <html>
    <head>
     
     
    </head>
    <body>
     
    <ul>
    <li><html:link page="/test.do?action=ok">Lien 1</html:link></li>
    <li><html:link page="/test.do?action=ko">Lien 2</html:link></li>
    <li><html:link page="/lien.jsp">Lien 3</html:link></li>
    </ul>
     
    </body>
    </html>


    et le 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
    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
      "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
     
    <web-app>
    	<display-name>Struts Example Application</display-name>
     
      <!-- Action Servlet Configuration -->
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
     
     
      <!-- Action Servlet Mapping -->
     
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
     
     
      <!-- The Welcome File List -->
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
     
      <!-- Application Tag Library Descriptor -->
      <!-- Struts Tag Library Descriptors -->
      <taglib>
        <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
      </taglib>
     
      <taglib>
        <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
      </taglib>
     
      <taglib>
        <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
      </taglib>
     
    </web-app>

    la page test.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
    16
    17
    18
     
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
     
    <html>
    <head>
     
    </head>
    <body>
    Dans test.
    Ok pour la connection !
     
    Mon objet = <%= request.getAttribute("MON_OBJET") %>
     
    </body>
    </html>

    Mon erreur :
    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
    type Exception report
     
    message 
     
    description The server encountered an internal error () that prevented it from fulfilling this request.
     
    exception 
     
    javax.servlet.ServletException: Servlet execution threw an exception
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
    	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
     
    .......
     
     
    root cause 
     
    java.lang.Error: Unresolved compilation problem: 
    	This method must return a result of type ActionForward
     
    	at action.TestAction.execute(TestAction.java:36)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507....

    Merci à ceux qui pourront m'aider

  2. #2
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 366
    Points
    1 366
    Par défaut
    tu ne peux pas utiliser l'attribut page dans le tag html:link si la ressources n'est pas explicitement une ressource physique (jsp, html ,...).

    Utilise l'attribut action à la place.


    @+

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci RanDomX !

    Mais
    Utilise l'attribut action à la place.
    ne fonctionne pas j'ai la même erreur.

    J'ai l'impression que l'erreur vient plutôt de ma methode ActionForward à cause du libéllé de l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.Error: Unresolved compilation problem: 
    	This method must return a result of type ActionForward
    Est ce qu'on peut compiler dans ECLIPSE et voir ses erreurs de compil ?
    @+

    Célina

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 85
    Points : 107
    Points
    107
    Par défaut
    Eclipse compile par défaut...

    Les fichiers .class sont mis dans le chemin spécifiés dans les propriétés de ton projet.

    Pour voir où ils sont copiés, tu prends donc les "properties" de ton projet web, tu sélectionnes "Java Build Path" et l'onglet "Source".

    En bas de la fenêtre, juste au-dessus des boutons "Ok", "Cancel", tu as un champs "Default output folder". C'est là qu'est spécifié le chemin de compilation. Petit rappel, dans le cas de projets web, notemment sous Tomcat, ton chemin par défaut devrait être : ".../WEB-INF/classes", c'est là que Tomcat va rechercher les classes compilées qui ne sont pas dans des librairies.

    Essai de voir si ça peut t'aider...

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci PetitJack,

    Je vois où sont mes .class, sous ".../WEB-INF/classes" le rép par défaut.
    Si le .class est créer est ce que ça veut dire que mon .java compile correctement ?

    Je suis en train de me demander si j'ai pas des erreurs de compil que j'aurais pas vu !

    A+
    Céline

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 85
    Points : 107
    Points
    107
    Par défaut
    Si ton .class est créé, alors c'est que la classe java compile bien, ou a bien compilée une fois...

    Sous Eclipse, les problèmes de compilations sont visibles dans la vue "Problems". Si elle n'est pas ouverte par défaut, ce qui est normalement pas le cas , alors, tu peux l'ouvrir en cliquant dans le menu "Window", ensuite dans le sous-menu "show-view -> Problems".
    Une fois la vue ouvert, normalement, tu as les problèmes de compilations qui y sont affichés. Sauf si tu as créé des filtres... Ce qui m'étonnerais quant même...

    A+

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    bon ! J'ai bien Window/Show View mais pas Problems :-(

    Sinon j'ai Window/Show View/Other/error log ! et là apparement pas d'erreur.

    J'ai Eclipse Platform
    Version: 2.1.3

    Je ne sais plus quoi faire pour me débarrasser de mon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    root cause 
     
    java.lang.Error: Unresolved compilation problem: 
    	This method must return a result of type ActionForward
     
    	at action.TestAction.execute(TestAction.java:36)
    	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    A+ et merci pour tes explications
    Céline

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2004
    Messages : 85
    Points : 107
    Points
    107
    Par défaut [Résolu] [DEBUTANT][Struts]Pb method ActionForward
    En fait, avec la version que tu utilises, c'est "Task" au lieu de "Problems" pour la vue...

    Sinon aucune idée...

    Essaie de supprimer le contenu de "../WEB-INF/classes/" et raffraîchi ton projet afin d'être sûr que tu as les bons fichiers compilé... Mais bon, je crains que ça ne change strictement rien...

    A+

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bon là j'ai super honte
    un vrai

    Essaie de supprimer le contenu de "../WEB-INF/classes/" et raffraîchi ton projet afin d'être sûr que tu as les bons fichiers compilé...
    Mais bon, je crains que ça ne change strictement rien...
    Miracle !! Ca marche ! je n'ai plus d'erreur !
    Bon ca fait pas encore exactement ce que je veux mais c'est déjà ça.

    Merci beaucoup !
    A+++
    Céline

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

Discussions similaires

  1. [debutant][struts]: utilisation du tag <logic:equal ...&g
    Par sleepy2002 dans le forum Struts 1
    Réponses: 13
    Dernier message: 23/11/2006, 17h04
  2. [DEBUTANT] [STRUTS]Creation d'un bean init
    Par grizzz dans le forum Struts 1
    Réponses: 3
    Dernier message: 25/02/2005, 09h54
  3. [Debutant][Struts] Syntaxe html:link
    Par Oby dans le forum Struts 1
    Réponses: 7
    Dernier message: 10/02/2005, 12h45
  4. [Debutant][Struts] Pb de forward dans jsp
    Par muim dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/02/2004, 11h02
  5. [debutant][struts] xml.build
    Par riven dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 17/09/2003, 06h53

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