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 :

Form Bean does not exist


Sujet :

Struts 1 Java

  1. #1
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut Form Bean does not exist
    Bonjour,

    Je tente de tester Struts afin de voir si je peux en retirer une plus value.. mais je tourne en rond !

    J'ai un "Warning" "Form Bean FormLogin does not exist" ..
    Voici mon contenu :

    login.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <html:form action="/Login.do">
    <h2> Please fill in Your information</h2>
    	Login   : <nested:text property="login"/><br/>
    	Password: <nested:text property="password"/><br/>
    	<html:submit/>
    </html:form>
    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
     
     <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,/WEB-INF/struts-config-login.xml</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
     
        <!-- Standard Action Servlet Mapping -->
        <servlet-mapping>
            <servlet-name>action</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
    struts-config-login.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
     
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
                                   "http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
    <struts-config>
     
    	<!-- FORM -->
     
    		<form-beans>
    		<form-bean name="LoginForm" type="cbc.websphere.common.login.LoginForm"/><!--name="loginForm" type="org.apache.struts.validator.DynaValidatorActionForm" className="org.apache.struts.action.ActionFormBean"> -->
    			<!-- <display-name>loginForm</display-name>
    			<form-property name="login" type="java.lang.String"/>
    			<form-property name="password" type="java.lang.String"/> 
    		 </form-bean> -->
    	</form-beans>
     
    	<!-- Actions mapping -->
     	<action-mappings>
    	 <action path 	=	 "/Login"
    			name 	=	 "LoginForm"
    			type 	=	 "cbc.websphere.common.login.LoginAction"
    			scope	=	 "request"
    			validate=	"true"
    			attribute=	"bean">
    		<forward name="loginSuccess" path="/jsp/welcome.jsp"/>
    		<forward name="loginFailed"	path="/jsp/erreurs.jsp"/>
    	 </action>
    	</action-mappings>
     
    	<!-- ressource msgs -->
    	<message-resources parameter="Login"/>
     
    </struts-config>
    mon Form Bean avec getters & setters:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class LoginForm extends ValidatorForm {
    mon Action Form
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ublic class LoginAction extends Action{
     
    	public ActionForward execute(final ActionMapping pMapping,
    	ActionForm pForm,final HttpServletRequest pRequest,
    	final HttpServletResponse pResponse)
    ..
    Oh et dans login.jsp, j'ai un warning aussi pour la valeur de l'attribut action .. il ne trouve pas l'url que je mette /Login ou /Login.do

    Quelque chose que j'aurais oublié ?

  2. #2
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    J'ai un "Warning" "Form Bean FormLogin does not exist" ..
    Dans quel fichier as tu ce warning ?
    Je te ferais remarquer qu'au niveau de ton fichier de configuration tu déclare un form-bean avec our nom "LoginForm" et non pas "FormLogin"

  3. #3
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Citation Envoyé par jadey Voir le message
    Dans quel fichier as tu ce warning ?
    Je te ferais remarquer qu'au niveau de ton fichier de configuration tu déclare un form-bean avec our nom "LoginForm" et non pas "FormLogin"
    Oui, le warning est "FormLogin does not exist" désolé pour l'inattention !
    Il se trouve dans struts-config-login.xml au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <action path 	=	 "/Login"
    			name 	=	 "LoginForm"
    Pour l'attribut name.

    Ainsi que dans login.jsp pour l'attribut action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:form action="/Login.do">

  4. #4
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    l'a tu bien crée dans le package "cbc.websphere.common.login" ?

  5. #5
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Oui, comme je l'ai mis dans mon premier post.
    Voici le contenu exact :
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    /*
     * $Id: UploadForm.java 471754 2006-11-06 14:55:09Z husted $
     *
     * Licensed to the Apache Software Foundation (ASF) under one
     * or more contributor license agreements.  See the NOTICE file
     * distributed with this work for additional information
     * regarding copyright ownership.  The ASF licenses this file
     * to you under the Apache License, Version 2.0 (the
     * "License"); you may not use this file except in compliance
     * with the License.  You may obtain a copy of the License at
     *
     *  http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing,
     * software distributed under the License is distributed on an
     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     * KIND, either express or implied.  See the License for the
     * specific language governing permissions and limitations
     * under the License.
     */
     
    package cbc.websphere.common.login;
     
    import javax.servlet.http.HttpServletRequest;
     
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.validator.ValidatorForm;
    import org.apache.struts.upload.FormFile;
    import org.apache.struts.upload.MultipartRequestHandler;
     
    /**
     * This class is a placeholder for form values.  In a multipart request, files are represented by
     * set and get methods that use the class org.apache.struts.upload.FormFile, an interface with
     * basic methods to retrieve file information.  The actual structure of the FormFile is dependant
     * on the underlying impelementation of multipart request handling.  The default implementation
     * that struts uses is org.apache.struts.upload.CommonsMultipartRequestHandler.
     *
     * @version $Rev: 471754 $ $Date: 2006-11-06 08:55:09 -0600 (Mon, 06 Nov 2006) $
     */
    public class LoginForm extends ValidatorForm {
     
        /**
         * The value of the text the user has sent as form data
         */
        protected String login;
     
        /**
         * The value of the embedded query string parameter
         */
        protected String password;
     
        /**
         * Retrieve the value of the text the user has sent as form data
         */
        public String getLogin() {
            return login;
        }
     
        /**
         * Set the value of the form data text
         */
        public void setLogin(String login) {
            this.login = login;
        }
     
        /**
         * Retrieve the value of the query string parameter
         */
        public String getPassword() {
            return password;
        }
     
        /**
         * Set the value of the query string parameter
         */
        public void setPassword(String password) {
            this.password = password;
        }
     
     
        /**
         * Check to make sure the client hasn't exceeded the maximum allowed upload size inside of this
         * validate method.
         */
        public ActionErrors validate(
            ActionMapping mapping,
            HttpServletRequest request) {
     
            ActionErrors errors = super.validate(mapping, request);
     
            return errors;
     
        }
    }

  6. #6
    Membre actif
    Inscrit en
    Février 2008
    Messages
    457
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 457
    Points : 215
    Points
    215
    Par défaut
    Ok, étrangement ça fonctionne..

    J'ai changé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form-bean .... />
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <form-bean>
    </form-bean>


    Pouvez-vous m'expliquer la différence entre la definition du form bean comme étant une class de type DynaValidator et le fait de la déclarer comme LoginForm et de définir les méthodes de DynaValidator à l'intérieur de cette classe form ?

    Quelles sont les avantages/inconvénients? dans quels cas utiliser une ou l'autre méthode pour valider ses formulaires ?
    Merci !

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2014, 15h32
  2. Réponses: 2
    Dernier message: 09/04/2013, 09h35
  3. System.Windows.Forms does not exist
    Par Morgoth818 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 29/08/2008, 16h43
  4. Réponses: 2
    Dernier message: 25/08/2008, 16h37
  5. [JCreator] "package tools does not exists"
    Par snyper147 dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 2
    Dernier message: 04/05/2003, 20h08

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