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: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:select list="normes" name="demande.norme" listKey="id_norme" listValue="intitule_norme" id="norme" />
Dans mon Action, j'initialise la liste à afficher :
Code:
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:
System.out.println("NORME : "+demande.getNorme().getIntitule_norme());
Dans mon Action, j'ai essayé :
Code:
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:
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 :cry:...si vous avez une solution, ce serait vraiment super ! :ccool:
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 :)