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 :

Remplir une liste Struts2


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut Remplir une liste Struts2
    bonjour,
    En fait, j'ai une page Offre.jsp qui contient un select comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <s:form id="formDeposer" action="act" >
     
                    <s:select label="Domaine" name="domaine" headerKey="0" headerValue="-- Sélectionner --" list="listeDomaine" required="true"/>
     
                    <s:submit value="Valider"></s:submit>
        </s:form>
    et dans fichier struts, j'ai rajouté l'action comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <action name="act" class="org.com.action.Actction" method="execute">
    			<result >Offre.jsp</result>
    		</action>
    et dans ma classe action je remplie la liste comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public String execute(){
    		listeDomaine = new ArrayList<String>();
    		listeDomaine.add("test");
    		listeDomaine.add("test2");
    		return "SUCCESS";
    	}
    le problème il me genere cette erreur :
    tag 'select', field 'list', name 'domaine': The requested list key 'listeDomaine' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
    merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Points : 246
    Points
    246
    Par défaut
    essaye avec ArrayList<LabelValueBean> à la place de ArrayList<String>

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

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    non il faut que ta liste soit chargée dans la Pile des Valeurs struts 2 avant que tu puisses l'afficher coté jsp.

    cad

    1 - construire ta liste dans une methode de classe d'action
    2 - appeler la méthode en question via le struts.xml (instanciation de la liste)
    3 - le result de struts doit te renvoyer sur la page Jsp

    sujet résolu à cette adresse http://www.developpez.net/forums/d89...ct-partir-map/

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    Merci de votre réponse,
    Exactement ce que j'ai fait, j'ai rempli ma liste dans la méthode execute et j'ai l'appelé dans struts.xml et le résultat de l'appel, j'ai mis ma page jsp.
    merci d'avance

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

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    il faut des getters et des setters pour listeDomaine dans la classe d'action

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    Merci,
    oui bien sur, j'ai fais les getters et les setters, la j'ai mis juste le bout de code intéressant.
    merci d'avance

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

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    non ce n'est pas exactement ce que tu as fait,

    là tu à une seule page jsp.

    avec un formulaire qui déclenche une action act,

    et c'est cette action act qui construit ta liste ...

    donc ton formulaire plante car à l'affichage du formulaire ta liste listDomaine n'est pas construite,


    il faut une première page,par exemple : toto.jsp qui apelle l'action act, via un <a href="act">Construit ma list</a> ensuite tu rediriges sur la page ou tu affiches ton formulaire.

    [edit ortho]

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    Bonjour,
    Excusez moi de vous déranger, voila ce que j'ai exactement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<s:url action="actLink"/>" >Déposer une offre</a><br>
    déja j'ai un lien je veux quand je clique la dessus j'affiche et je remplie mon formulaire en même temps
    Merci d'avance

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

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    on a une page 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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
        <!-- <META HTTP-EQUIV="Refresh" CONTENT="0;URL=jsp/HelloWorld.action"> -->
    </head>
     
    <body>
    <h1>Tutoriel Struts 2</h1>
    <p>Bienvenue dans ce tutoriel Struts 2 en français...</p>
     
    <a href="actLink" >Déposer une offre</a>
     
     
    </body>
    </html>
    l'action actLink est traitée par 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
    <?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="false" />
     
    	<package name="home" namespace="/" extends="struts-default">
     
    		<action name="actLink" class="actions.ListAction">
    			<result name="success">list.jsp</result>
    		</action>
     
    	</package>
     
    </struts>

    <action name="actLink" .. apelle la methode de la classe d'action ListAction

    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
    package actions;
     
    import com.opensymphony.xwork2.ActionSupport;
     
    import java.util.ArrayList;
    import java.util.List;
     
    public class ListAction extends ActionSupport {
     
     
     
        /**
             * serialVersionUID
             */
    	private static final long serialVersionUID = 1L;
     
    	/* (non-Javadoc)
    	 * @see com.opensymphony.xwork2.ActionSupport#execute()
    	 */
    	public String execute() {
    		listeDomaine = new ArrayList<String>();
    		listeDomaine.add("test");
    		listeDomaine.add("test2");
    		return SUCCESS;
        }
     
        /**
         * listeDomaine
         */
        private List<String> listeDomaine;
     
    	/**
             * @return the listeDomaine
             */
    	public List<String> getListeDomaine() {
    		return listeDomaine;
    	}
     
    	/**
             * @param listeDomaine the listeDomaine to set
             */
    	public void setListeDomaine(List<String> listeDomaine) {
    		this.listeDomaine = listeDomaine;
    	}
     
    }

    La liste est construire et stockée dans listDomaine. Le result Success renvoie sur une page list.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
    21
    22
    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Struts 2 Application Hello World !</title>
    </head>
    <body>
     
    <s:form id="formDeposer" action="act">
     
    	<s:select label="Domaine" name="domaine" headerKey="0"
    		headerValue="-- Sélectionner --" list="listeDomaine" required="true" />
     
    	<s:submit value="Valider"></s:submit>
     
    </s:form>
     
    </body>
    </html>
    qui affiche correctement le formulaire ... [fin]

    source ici

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    je suis vraiment désolé, mais toujours il marche pas, j'ai appliqué sa comme il faut.
    merci encore mille fois

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

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 129
    Points : 182
    Points
    182
    Par défaut
    désolé je ne peux pas t'aider plus, tu as un exemple fonctionnel ici : source ici

    bon courage.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 83
    Points : 34
    Points
    34
    Par défaut
    merci comme même.

Discussions similaires

  1. Remplir une liste déroulante à partir d'un champ dans une pop up
    Par wiam26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2006, 16h42
  2. macro pour remplire une liste dans une même cellule
    Par fabiend83 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/07/2006, 09h32
  3. [débutant] Remplir une liste déroulante
    Par Floch dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/05/2006, 13h39
  4. remplir une liste à partir d'une liste
    Par LeXo dans le forum Access
    Réponses: 7
    Dernier message: 14/04/2006, 12h29
  5. Remplir une Liste par SQL ?
    Par Zigouigoui dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 03/12/2005, 17h08

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