Ссылка JSF в метке SelectItem

Можно ли установить <a href />вокруг моего <f:selectItem itemLabel="label" />, где текст моей ссылки будет itemLabel?

Я использую простые солнечные компоненты.


person onigunn    schedule 01.02.2010    source источник
comment
возможен ли желаемый результат в HTML? Что является родителем f:selectItem ?   -  person Bozho    schedule 01.02.2010


Ответы (1)


Желаемый результат невозможен в HTML. Для этого вам нужно добавить фрагмент кода JavaScript.

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

Где bean.getLinks() возвращает List<SelectItem> с полноценным URL-адресом в качестве элемента value. Если вы хотите показать ссылку как как значение, так и метку, просто используйте конструктор SelectItem с одним аргументом.

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

Если вы хотите жестко закодировать их в представлении, вы, конечно, можете взять 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>
person BalusC    schedule 01.02.2010