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 :

Récupérer les valeurs du formulaire


Sujet :

Struts 2 Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut Récupérer les valeurs du formulaire
    Bonjour, je débute avec struts 2 et j’ai un problème quand il s’agit de récupérer les valeur d’un formulaire : voici mon 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
     
    <s:form action="Login" method="POST">
    <tr>
    <td colspan="2">
    Login
    </td>
     
    </tr>
     
      <tr>
       <td colspan="2">
             <s:actionerror />
             <s:fielderror />
       </td>
      </tr>
     
    <s:textfield name="username" label="Login name"/>
    <s:password name="password" label="Password"/>
    <s:submit value="Login" align="center"/>
     
    </s:form>
    La définition dans struts XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
            <action name="Login_*" method="{1}" class="example.Login">
                <result name="input">/example/Login.jsp</result>
                <result type="redirect-action">Menu</result>
            </action>
    Et donc dans la classe Login j’essaie de récupérer les champs du login de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public String execute() throws Exception {
     
            if (isInvalid(getUsername())){ 
            	System.out.println("User Name: " + getUsername() +  getMonTexte());
            	return INPUT;
            }
     
            if (isInvalid(getPassword())) return INPUT;
     
            return SUCCESS;
        }
    Le problème c’est que j’obtiens toujours la valeur null : User Name:null

    J’ai bien le getter et le setter pour cette propriété.

    Je vous remercie pour toute aide apportée.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Bonsoir,

    Après une grande galère je suis tombé sur un post, qui conseillait d’enlever les constantes qui se trouve dans le fichier struts.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <constant name="struts.devMode" value="true" />
        <constant name="struts.i18n.reload" value="true" />
        <constant name="struts.configuration.xml.reload" value="true" />
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
        <constant name="struts.devMode" value="false" />

    Je les ai commentées et je parviens donc à récupérer les valeur provenant du form.
    Je ne saisie pas pourquoi ni l’objectif de ces constantes, je souhaiterais donc que quelqu’un puisse m’expliquer à quoi servent ces constantes.


    Merci.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Et plus je passe du temps avec ce problème moins je le comprend, j’ai remis toutes les constantes une à une pour savoir la quelle pouvait poser problème, mais voilà que tout marche correctement….

  4. #4
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut meme probleme
    Salut snyper j'ai le meme probleme que toi et je n'arrive toujours pas à le resoudre voici mes fichiers:

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>sugar-report</display-name>
      <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
     
    </web-app
    Struts.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <struts>
     
        <package name="authentification" namespace="/authentification" extends="struts-default">
        <action name="dologin" class="ma.involys.service.login">
    			<result name="input">/index.jsp</result>
    			<result name="SUCCESS">/accueil.jsp</result>
    			<result name="ERROR">/error.jsp</result>
    			<result>/index.jsp</result>
    		</action>
        </package>
    </struts>
    login.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
    33
    34
    35
    36
    37
     
    import com.opensymphony.xwork2.ActionSupport;
     
    public class login extends ActionSupport{
     
    	/**
             * 
             */
    	public String execute() throws Exception {
            System.out.println("Validating login");
            System.out.println(getlogin());
        if(!getlogin().equals("admin") || !getpass().equals("admin")){
                addActionError("Invalid user name or password! Please try again!");
                System.out.println("error");
                return ERROR;
        }else{
        	System.out.println("success");
          return SUCCESS;
        }
      }
     
    	 private String login = null;
    	 public String getlogin() {
    	        return login;
    	    }
    	 public void setlogin(String value) {
    		 login = value;
    	    }
    	 private String pass = null;
    	 public String getpass() {
    	        return pass;
    	    }
    	 public void setpass(String value) {
    		 pass = value;
    	    }
     
    }
    Et mon 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
     
    <s:form action="/authentification/dologin.action">
    <center>
    <table>
    	<tr>
    		<td><s:textfield label="Utilisateur" name="login" /></td>
    	</tr>
    	<tr>
    		<td><s:password label="Mot de passe" name="pass" /></td>
    	</tr>
    	<tr>
    		<td><s:submit value="Se connecter" /></td>
    	</tr>
    </table>
    </center>
    </s:form>
    Au moment de l'execution de mon application j'ai le warning suivant:
    ATTENTION: No configuration found for the specified action: '/authentification/dologin.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

    Et aprés l'execution quand je clique sur mon bouton de validation du formulaire j'ai des valeurs donc les champs n'ont pas été récupéré. S'il te plait si tu peux jetté un coup d'oeil et me donné ton avis sur ça sa serait super de ta part. Merci

  5. #5
    Membre confirmé 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 : 53
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Par défaut
    il faut que tu mette ton namespace à la racine (namespace ="/" ) dans struts .xml ou que tu ne spécifie pas /authentification dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:form action="/authentification/dologin.action"> tu fais çà => <s:form action="dologin.action">

  6. #6
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut
    Effectivement j'ai essayé toute les combinaisons possible et sa ne marche pas. J'ai toujours le meme probleme. Est ce qu'il n'y aurait pas un autre fichier à configurer par hasard ???

  7. #7
    Membre confirmé 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 : 53
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Par défaut
    il faudrait plus de trace ...

    voici un exemple complet login en struts2

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
      <display-name>Api Blog</display-name>
     
    <!-- Les welcomes Files -->  
     
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
     
     
    <!-- Le filtre de struts  --> 
     
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
        </filter>
     
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>  
     
    </web-app>
    fichier struts.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
    <?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="true" /> <!-- Permet de recharger le fichier de config struts.xml -->
        <constant name="struts.custom.i18n.resources" value="package"  /> <!-- définit le nom du fichier i18n (bundle) -->
        <!--  <constant name="struts.locale" value="fr"/> // On ne fixe pas la locale par défault -->
     	<constant name="struts.i18n.encoding" value="UTF-8"/>
     
     
        <package name="backoffice" namespace="/admin" extends="struts-default">
            <default-action-ref name="login" /> 
     
     
     
            <action name="Identification_Utilisateur" class="com.blog.action.UtilisateurAction" method="identifierUtilisateurs">
                <result name="success">index.jsp</result>
            	<result name="error">login.jsp</result>
            </action>        
     
     
    	</package>
     
     
    </struts>
    fichier 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
            <s:form action="Identification_Utilisateur" method="post" theme="simple">
     
    	        <p>
     
    	        	<s:textfield name="utilisateur.login" value="%{getText('nomUtilisateur')}" size="20"/>
    				<s:textfield name="utilisateur.password" value="%{getText('motDePasse')}" size="20"/>
     
    	        	<s:submit value="Login" align="center" cssClass="boutonLogin"/>
    	         </p>
     
            	<s:if test="#session.authentification == 'false'">
     
    		        <div id="errorLogin">
    		        	<s:property value="%{getText('erreurlogin')}" escape="false" />
    		        </div>
     
            	</s:if>
     
       	  </s:form>
    je passe la class java.

    le fichier formulaire

    est biensur dans

    webcontent /
    -- admin/
    |- login.jsp

  8. #8
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut
    Merci d'abord pour ton soutien .

    Baah j'ai reussi à éliminer le fameux warning
    ATTENTION: No configuration found for the specified action: '/authentification/dologin.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.
    Par contre mes champs login et password ne passe toujours pas , sa me donne :
    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
    GRAVE: Exception au d�marrage du filtre struts2
    java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
    	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
    	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
    	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
    J'ai un classnotfoundexception est ce qu'il s'agit de mes jar ???
    J'ai:
    xwork-core-2.1.6.jar
    xml-apis-1.0.b2.jar
    struts.jar
    struts2-core-2.1.8.1.jar
    ognl-2.7.3.jar
    freemarker-2.3.15.jar
    commons-logging-1.0.4.jar
    commons-beanutils-1.6.jar
    commons-collections-2.1.jar
    commons-digester-1.6.jar

  9. #9
    Membre confirmé 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 : 53
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Par défaut
    Voici les bibliothèques que j'utilise :



    mais je ne pense pas que cela vienne de là, dans ton fichier Strust.xml repositionne la valeur de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <constant name="struts.devMode" value="true" />
    à false.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 92
    Par défaut
    Vérifie que les jar utilisés figurent bien dans le war généré ou à défaut dans la lib de ton serveur d'application.

    Car souvent on les intègre correctement au niveau du projet dans Eclipse (ou autre IDE) mais on oublie de spécifier que le WAR déployé doit embarquer ces librairies afin de pouvoir les utiliser...

  11. #11
    Membre averti
    Inscrit en
    Décembre 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 19
    Par défaut
    Et comme toujours y'a toujours un petit majuscule ou miniscule qui fou tout en l'air, tout comme ce qui m'est arrivé. En fait le probleme venez de mes getters et setters j'avais getutil() setutil() alors que j'avais besoin d'avoir setUtil() et getUtil() c'est pour cela que struts les ignorés. Et merde Thanks les gars je suis vraiment content

  12. #12
    Nouveau candidat au Club
    Inscrit en
    Janvier 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 2
    Par défaut URGENT: pbm de recuperation des données postées
    Bonjour à tous,

    j'ai un probleme en struts 2, en fait j'arrive pas à recuperer les données postées après le submit.
    en plus j'ai ce Warning:


    ATTENTION: No configuration found for the specified action: 'dologin.action' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

    mimounireda comment tu as résolu ce Warning?

    Merci pour votre aide c'est URGENT

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

Discussions similaires

  1. [VBA-E] Récupérer les valeurs d'un formulaire Outlook
    Par ftcalvados dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2010, 17h27
  2. [PHP 5.0] Récupérer les valeurs du formulaire
    Par bencot dans le forum Langage
    Réponses: 1
    Dernier message: 10/06/2010, 12h47
  3. Récupérer les valeurs du formulaire dans execute()
    Par handsome01 dans le forum Struts 1
    Réponses: 10
    Dernier message: 28/03/2009, 03h19
  4. [PEAR][HTML_QuickForm] Impossible de récupérer les valeurs du formulaire
    Par Mainman dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/05/2007, 12h15
  5. Réponses: 11
    Dernier message: 19/06/2006, 13h51

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