Pergunta

É possível definir um <a href />ao redor do meu <f:selectItem itemLabel="label" /> onde meu texto de link é o itemLabel?

Estou usando os componentes do sol simples.

Foi útil?

Solução

O resultado desejado é não possível em html. Você precisará adicionar uma foto de JavaScript para isso.

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

Onde bean.getLinks() retorna a List<SelectItem> com um URL digno de validade como item valor. Se você quiser mostrar o link como Ambas valor e rótulo, basta usar o SelectItem construtor fazendo um único argumento.

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

Se você quiser codificá -los na vista, é claro que pode pegar 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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top