salut tout le monde,
je veux créer une SelectOneMenu par Code Java (Object) et l'afficher par la suite sur ma page jsp, comment faire!!
merci d'avance...
Version imprimable
salut tout le monde,
je veux créer une SelectOneMenu par Code Java (Object) et l'afficher par la suite sur ma page jsp, comment faire!!
merci d'avance...
Bonjour,
je ne suis pas sûr que ta question soit tout à fait claire :
- est-ce que tu veux créer le composant de zéro depuis ton bean et l'injecter ensuite dans ta page (ce qui semble suggérer que tu ne sais pas à l'avance s'il sera présent ou non)
- est-ce que tu veux en renseigner les valeurs (liste des choix et sélection courante) depuis ton bean?
- autre chose?
Dans le premier cas, c'est je pense un peu plus tricard, et je ne suis certainement pas le mieux placé pour te répondre.
Dans le second, c'est qqchose d'assez classique : le plus simple est de lier les valeurs à renseigner avec celles de ton bean.
Code:
1
2
3 <h:selectOneMenu value="#{myBean.currentSelection}"> <f:selectItems value="#{myBean.listSelectItem}"/> <:h:selectOneMenu>
ou tu fais un binding (bien que je n'en voie pas trop l'intérêt par rapport à la première solution )Code:
1
2
3 private List<SelectItems> listSelectItem; // + getters / setters / population private int currentSelection; // + getters / setters / population
[code]Code:
1
2<h:selectOneMenu binding="#{myBean.selectOneMenu}" <:h:selectOneMenu>
Voilà, j'espère que ça va au moins un peu débloquer ta question.Code:private HtmlSelectOneMenu selectOneMenu; // + getters / setters / population
Salut, Desolé je pense que j'ai mal formulé ma question, merci pour ta reponse, j'ai arrivé à le faire 8-) :
merciiii encore une fois ;)Code:
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 javax.faces.application.Application application = FacesContext.getCurrentInstance().getApplication(); if (gridPanel1 == null) { gridPanel1 = (HtmlPanelGrid) application.createComponent(HtmlPanelGrid.COMPONENT_TYPE); } HtmlSelectOneMenu contenuFormulaire = (HtmlSelectOneMenu) application.createComponent("javax.faces.HtmlSelectOneMenu"); contenuFormulaire.setId("contenu"); javax.faces.el.MethodBinding valueContenuConteneurChange = application.createMethodBinding("#{option.valider}",new Class[]{ValueChangeEvent.class}); contenuFormulaire.setValueChangeListener(valueContenuConteneurChange); contenuFormulaire.setOnchange("submit()"); contenuFormulaire.setImmediate(true); list = new UISelectItems(); list.setValue(colonnes); contenuFormulaire.getChildren().add(list); int index = gridPanel1.getChildren().size(); gridPanel1.getChildren().add(index, contenuFormulaire); HtmlSelectOneMenu t = (HtmlSelectOneMenu)gridPanel1.getChildren().get(1); System.out.println(t.getValue());