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.8] "Cannot find ActionMappings or ActionFormBeans collection "


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Par défaut [Struts 1.3.8] "Cannot find ActionMappings or ActionFormBeans collection "
    Bonjour à nouveau... Je bute sur un autre problème après celui résolu tout récemment.

    Voici une page JSP (index.jsp), qui contient un formulaire :
    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
     
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <jsp:useBean id="clock" class="java.util.Date"/>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
    <head>
    	<title>Ma premi&egrave;re application</title>
    	<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
    </head>
    <body>
    	<h1>Bonjour!</h1>
    	Date et heure du jour : <%=clock.toString()%>
    	<hr/>
        <html:form action="/accueil.do">
          <table width="45%" border="0">
            <tr>
    	  		<td>Nom :</td> 
    	  		<td><html:text property="nom" /></td>
            </tr>
            <tr>
    	  		<td>&Acirc;ge :</td> 
    	  		<td><html:text property="age" /></td>
            </tr>
            <tr>
    			<td colspan="2" align="center"> <html:submit /></td>
            </tr>
          </table> 
        </html:form> 
    </body>
    </html>
    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
     
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">
     
    <web-app>
     
      <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>
     
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
     
      <welcome-file-list>
        <welcome-file>/jsp/index.jsp</welcome-file>
      </welcome-file-list>
     
      <taglib>
        <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
      </taglib>
     
    </web-app>
    Et enfin, le 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
     
    <?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-beans>
    		<form-bean name="formBean" type="beans.FormulaireBean" />
    	</form-beans>
     
    	<action-mappings>
    		<action path="/accueil" name="formBean" type="src.Accueil" />
    	</action-mappings>
     
    	<message-resources parameter="MessageResources" />
    </struts-config>
    Je lance l'application, et une exception se lève :
    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
     
    org.apache.jasper.JasperException: Exception in JSP: /jsp/index.jsp:14
     
    11: 	<h1>Bonjour!</h1>
    12: 	Date et heure du jour : <%=clock.toString()%>
    13: 	<hr/>
    14:     <html:form action="/accueil.do">
    15:       <table width="45%" border="0">
    16:         <tr>
    17: 	  		<td>Nom :</td> 
     
     
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    cause mère
     
    javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
    	org.apache.jsp.jsp.index_jsp._jspService(index_jsp.java:98)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
     
    cause mère
     
    javax.servlet.jsp.JspException: Cannot find ActionMappings or ActionFormBeans collection
    	org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:798)
    	org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:506)
    	org.apache.jsp.jsp.index_jsp._jspx_meth_html_005fform_005f0(index_jsp.java:114)
    	org.apache.jsp.jsp.index_jsp._jspService(index_jsp.java:88)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Je cherche depuis ce matin l'origine de cette exception, tout indiquerait que celle-ci pourrait être la balise <load-on-startup> dans web.xml, ou alors une erreur dans struts-config.xml, au niveau de la balise <action-mappings>...

    Mais rien à faire, ça ne fonctionne pas...

    Quelqu'un aurait-il une idée ?

    Merci par avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Par défaut Ca fonctionne à présent
    Je viens de modifier le struts-config.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    		<action path="/accueil" name="formBean" input="/jsp/index.jsp" type="src.Accueil"/>
    Quelqu'un pourrait-il m'expliquer ?... J'avoue que je ne comprends pas... et comme j'aime bien comprendre ce que je fais...

    Merci par avance.

  3. #3
    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
    A partir du moment où tu ajoutes un attribut name dans la balise action et que tu ne spécifies pas d'attribut validate, le validate étant à true par défaut, il faut obligatoirement ajouter l'attribut input pour y spécifier vers où tu veux être redirigé en cas d'erreur de validation.

    Si tu ne veux pas avoir à coder d'attribut input, il faut donc mettre validate à false.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Par défaut
    Merci pour ces explications. Je viens de comprendre enfin que l'attribut input n'était pas le point d'entrée, mais le point de sortie vers une page si la validation refuse le formulaire. Cependant, j'avais un peu de chance, car je voulais rester (ou retourner) sur le formulaire si celui-ci était incomplet.

    Cependant, je souhaiterais aller un peu plus loin maintenant, à savoir la gestion des messages d'erreur. En effet, tantôt je vois du ActionMessage, et tantôt du ActionErros. J'ai l'impression que cela dépend de la version de Struts. Puisque je suis en version 1.3.8, que dois-je prendre ?

    Merci par avance.

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par DomIII Voir le message
    ...
    Cependant, je souhaiterais aller un peu plus loin maintenant, à savoir la gestion des messages d'erreur. En effet, tantôt je vois du ActionMessage, et tantôt du ActionErros. J'ai l'impression que cela dépend de la version de Struts. Puisque je suis en version 1.3.8, que dois-je prendre ?
    ActionMessage

    ActionError est "deprecated" depuis Struts 1.2

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Par défaut
    Bonsoir,

    Effectivement, cela fonctionne parfaitement bien !

    Merci pour votre patience et vos explications. Je finirai bien d'ici quelques mois de créer une application Struts tout seul !

    Merci encore !

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

Discussions similaires

  1. [STRUTS] [Debutant] Cannot find message resources...
    Par grizzz dans le forum Struts 1
    Réponses: 14
    Dernier message: 05/05/2011, 16h08
  2. Réponses: 5
    Dernier message: 22/05/2009, 16h50
  3. Réponses: 9
    Dernier message: 16/05/2007, 12h00
  4. Réponses: 3
    Dernier message: 03/11/2006, 10h27
  5. [Tomcat 4.1][Struts] Cannot find global ActionForward....
    Par otminou dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 13/09/2004, 12h04

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