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 directement un objet dans un <s:select />


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 131
    Par défaut Récupérer directement un objet dans un <s:select />
    Bonjour à tous,

    je cherche le moyen de récupérer directement un objet à partir d'un <s:select /> mais malgré mes recherches et mes essais, je ne comprend pas...

    Jusque là, je n'ai manipulé que des types primitifs, et dans ce cas, pas de problèmes, la transmission se fait bien comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:textfield name="nom_en_sortie" />
    Dans mon action, avec simplement un String nom_en_sortie et ses accesseurs, je peux récupérer la valeur.

    Maintenant, j'utilise un <s:select /> qui liste des normes comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:select list="normes" name="demande.norme" listKey="id_norme" listValue="intitule_norme" id="norme" />
    Dans mon Action, j'initialise la liste à afficher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private List<Norme_Gravage> normes=new ArrayList<Norme_Gravage>();
    public List<Norme_Gravage> getNormes() {return normes;}
    public void setNormes(List<Norme_Gravage> normes) {this.normes = normes;}
    normes=normeService.getNorme_Gravage();
    J'ai évidemment une classe Demande qui possède un attribut Norme_Gravage, d'où le name="demande.norme" dans le select...

    Quand je submit mon form, je ne parviens pas à récupérer mon objet Norme_Gravage dans mon action, j'ai une NullPointerException...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("NORME : "+demande.getNorme().getIntitule_norme());
    Dans mon Action, j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private Demande demande=new Demande();
    	public Demande getDemande() {return demande;}
    	public void setDemande(Demande demande) {this.demande = demande;}
    tout seul, donc sans instancier explicitement son attribut Norme_Gravage...mais j'ai aussi essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    demande.setNorme(new Norme_Gravage());
    Ce qui ne marche évidemment pas mieux...

    Là, je sèche, c'est sûrement très bête en plus ...si vous avez une solution, ce serait vraiment super !

    Donc le but, ce serait de pouvoir dans mon action récupérer directement un objet de ma liste et non pas un de ses attributs....

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 131
    Par défaut
    Bon, j'ai compris qu'en réalité, je pouvais travailler directement avec ma Norme_Gravage de ma Demande via l'OGNL comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:select list="normes" name="demande.norme.id_norme" listKey="id_norme" listValue="intitule_norme" id="norme" />
    et ça me convient bien, par contre l'équivalent avec un <sx:autocompleter /> ne marche pas...mais vu que c'est un autre sujet, je vais en récréer un...

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 109
    Par défaut
    Bonjour,

    j'ai le même problème mais cette méthode ne marche pas.
    ca récupère juste le l'id et pas le libellé du select

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2012, 16h57
  2. Réponses: 7
    Dernier message: 26/01/2007, 21h11
  3. récupérer un objet dans une liste chainée
    Par marsuwhite dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2006, 14h05
  4. Réponses: 2
    Dernier message: 11/04/2006, 22h54

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