Использование f:selectOneRadio var в атрибуте passtrough

selectOneMenu с forEach, как описано здесь ( /questions/18916009/ispolzovanie-fselectitems-var-v-atribute-passtrough/18916022#18916022), выполняет свою работу, но при попытке использовать selectOneRadio в том же случае, сквозной переход игнорируется.

Есть ли быстрый способ исправить это.

 <h:selectOneRadio...>
  <c:forEach value="#{bean.countries}" var="country">
    <f:selectItem 
        itemValue="#{country}" 
        itemLabel="#{country.countryName}" 
        pt:data-icon="flag flag-#{country.isoCode}" />   
  </c:forEach>             
 </h:selectOneRadio>

Это не то же самое, что в данной ссылке. SelectOneMenu - генерирует поле со списком. SelectOneRadio - генерирует группу переключателей, поэтому он использует разные рендеры.

1 ответ

Решение довольно простое

XHTML

<f:metadata>
    <f:viewParam name="a-radio" value="#{radioButtons.radioButtonJSF22}"/>
</f:metadata>

<label for="fooOption">
  <input type="radio" jsf:id="fooOption" pt:name="a-radio" pt:data-something="someValue" value="Wisconsin"/>
  <span>Wisconsin</span>
</label>
<label for="barOption">
  <input type="radio" jsf:id="barOption" pt:name="a-radio" pt:data-something="someValue"value="Minnesota"/>
  <span>Minnesota</span>
</label>

боб

@ManagedBean
public class RadioButtons {

private String radioButtonJSF22;


//...getter and setter for radioButtonJSF22
}

Благодаря этому сайту http://www.leveluplunch.com/java/examples/jsf-radio-buttons/

Другие вопросы по тегам