Frage

Ist es möglich, a zu setzen? <a href />um meine <f:selectItem itemLabel="label" /> wo mein Link -Text der ist itemLabel?

Ich benutze die einfachen Sonnenkomponenten.

War es hilfreich?

Lösung

Das gewünschte Ergebnis ist nicht möglich in HTML. Dafür müssen Sie eine Aufnahme JavaScript hinzufügen.

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

Wo bean.getLinks() Gibt eine zurück List<SelectItem> mit einer vollwertigen URL als Gegenstand Wert. Wenn Sie den Link als anzeigen möchten beide Wert und Etikett verwenden Sie einfach die SelectItem Konstruktor, der ein einziges Argument nimmt.

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

Wenn Sie sie in der Ansicht festhöfen möchten, können Sie natürlich greifen 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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top