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 :

Conserver valeur à la validation d'une jsp


Sujet :

Struts 2 Java

  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Par défaut Conserver valeur à la validation d'une jsp
    Bonjour, j'ai le problème suivant :
    Je possède une action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class RechercheDemandeAction extends ActionSupport {
    private List<Departement> departements;
    private String nomSalarie;
     
    public List<Departement> getDepartements() {}
    }
    public void setNomSalarie (String nomSalarie) {...}
    et un fichier RechercheDemandeAction-validation.xml.

    Mon action dirige vers une jsp
    recherchedemande.jsp avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form ...>
    <s:select label="Département souhaité" listKey="code" listValue="libelle" headerKey="0" headerValue="------"
    list="departements" name="departement" onchange ="form.action='rechercheDemande.do';form.submit();">
    </s:select>
    <input type="text" id="nomSalarie" name="nomSalarie" />
    </form>
    A la validation de cette jsp elle renvoie vers mon action. Si la validation se passe bien, tout fonctionne.
    Sinon j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    javax.servlet.ServletException: tag 'select', field 'list', name 
    'departement': The requested list key 'departements'
    could not be resolved as a collection/array/map/enumeration/iterator type. 
    Example: people or people.{name}
    En gros lorsque je charge ma jsp depuis mon action elle arrive bien à lire la liste "départements" par le getter dans l'action.
    Mais lorsque le formulaire est soumis et que la validation échoue, cette liste n'existe plus (je suppose que l'instance de l'Action non plus ?)...
    La valeur entrée par l'utilisateur dans la zone de texte disparaît également.

    Comment peut-on conserver tout cela jusqu'à ce que la validation réussisse ? Faut-il mettre ces variables en session ?
    Merci d'avance, j'espère avoir été assez clair.

  2. #2
    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
    Les listes servant à alimenter les Select doivent être initialisées dans la méthode prepare de ton action, pour cela ta classe action doit implémenter l'interface Preparable.

    Ainsi la méthode prepare est appelée au préalable à toute autre dans la classe et permet ainsi de ne pas perdre le contenu des listes lors de la validation d'un formulaire.

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Par défaut
    super je vais essayer ça alors

  4. #4
    Membre averti
    Inscrit en
    Février 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 52
    Par défaut
    J'ai testé Preparable et ça marche bien !
    J'ai finalement opté pour une solution à mon problème moins puissante mais plus simple :
    j'ai enrichi la méthode getDepartements() dans mon action d'une initialisation si l'objet est nul.

    prepare est bien mais je n'avais pas toujours besoin d'exécuter ce code avant chaque méthode de l'action.

    Merci pour ton aide kiwwi209 !

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

Discussions similaires

  1. rensigner la valeur d'un paramètre d'une JSP
    Par keopsk dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 10/04/2007, 12h29
  2. recuperer la valeur d'une variable javascript dans une jsp
    Par johnnywalker dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 04/03/2007, 19h45
  3. [Struts] transmettre une valeur d'une JSP à une Autre
    Par khokho dans le forum Struts 1
    Réponses: 7
    Dernier message: 20/04/2006, 22h57
  4. [JSP] addition deux valeurs en sortie d'une jsp
    Par LESOLEIL dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 08/06/2005, 11h13
  5. [C#] Conserver des valeurs de propriétés d'une page
    Par elod38 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/03/2005, 10h53

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