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 :

Collection non sauvegardée dans le bean form : Failed to obtain specified collection


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Par défaut Collection non sauvegardée dans le bean form : Failed to obtain specified collection
    Bonjour,

    J'utilise une collection stockée dans un bean form pour alimenter mon select.
    Cela fonctionne mais lorsque le validate me renvoit sur la même JSP, la collection semble disparaitre et j'obtiens le message suivant : Failed to obtain specified collection.

    Dans le bean form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	private Collection<PDF> listePDF;
    (avec les getter et setter qui vont bien)

    Dans l'action de preparation de la JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formPDF.setListePDF(listePDF);
    Et dans la JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			<html:select property="pointDeFacturation">
    						  <html:optionsCollection property="listePDF" value="code" label="cleLibelle" />
    					</html:select>
    J'ai essayé de stocker la collection dans le scope session directement et de l'afficher en remplacant property du optionsCollection par name et ça fonctionne.
    Mais je souhaiterai le sauvegarder dans le form. Est-ce possible ?

    Merci !

  2. #2
    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
    Lorsqu'il y a une erreur de validation, il faut faire appel à l'Action qui initialise le formulaire au lieu d'appeler la jsp.

    Il faut donc modifier la valeur de l'attribut input dans le mapping de l'Action qui s'exécute au submit du formulaire en y spécifiant le path de l'Action qui initialise le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    input="/pathInitAction.do"

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Par défaut
    Ca m'arrange pas mais je comprend ...
    Merci pour ta réponse !

  4. #4
    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
    L'autre solution consiste à mettre le form-bean dans le scope session.
    Pour cela, il faut mettre scope="session" dans le mapping des deux Actions dans le struts-config.xml.

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/05/2015, 17h09
  2. instancier une classe non managée dans une Windows Form
    Par maestro_mirou dans le forum C++/CLI
    Réponses: 2
    Dernier message: 07/05/2012, 14h09
  3. Données non sauvegardées dans la base
    Par jacquesprogram dans le forum Entity Framework
    Réponses: 2
    Dernier message: 28/02/2011, 17h34
  4. Réponses: 7
    Dernier message: 29/08/2006, 14h23
  5. Sauvegarder une mise en forme dans une RichTextBox
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 29/12/2005, 12h19

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