2010-02-01 12 views
3

Est-il possible de définir un <a href /> autour de mon <f:selectItem itemLabel="label" /> où le texte de mon lien est le itemLabel? J'utilise les composants solaires simples.Lien JSF dans l'étiquette SelectItem

+1

est le résultat souhaité possible en HTML? Quel est le parent de f: selectItem? – Bozho

Répondre

6

Le résultat souhaité est et non possible en HTML. Vous aurez besoin d'ajouter une photo de JavaScript pour cela.

<h:selectOneMenu onchange="window.location=this.options[this.selectedIndex].value"> 
    <f:selectItems value="#{bean.links}" /> 
<h:selectOneMenu> 

bean.getLinks() retourne un List<SelectItem> avec une URL fullworthy comme élément valeur. Si vous souhaitez afficher le lien comme à la fois valeur et libellé, utilisez simplement le constructeur SelectItem en prenant un seul argument.

links = new List<SelectItem>(); 
links.add(new SelectItem("http://google.com")); 
links.add(new SelectItem("http://stackoverflow.com")); 
// ... 

Si vous voulez les coder en dur dans la vue, vous pouvez bien sûr saisir f:selectItem:

<h:selectOneMenu onchange="window.location=this.options[this.selectedIndex].value"> 
    <f:selectItem itemValue="http://google.com" /> 
    <f:selectItem itemValue="http://stackoverflow.com" /> 
<h:selectOneMenu>