Документация для t: radio гласит:
Идентификатор ссылочного расширенного компонента selectOneRadio.Это значение разрешается для конкретного компонента с использованием стандартного UIComponent.findComponent () алгоритма поиска.
Я предполагаю, что a:repeat
- это NamingContainer
, поэтому, используя "models"
не будет работать.Вы можете использовать идентификатор клиента компонента t:selectOneRadio
.
Примерно так:
<t:selectOneRadio id="models" value="#{car.model}" layout="spread"
binding="#{requestScope.modelComponent}">
<f:selectItems value="#{models}" />
</t:selectOneRadio>
<h:panelGrid columns="2">
<a:repeat value="#{models}" rowKeyVar="index">
<t:radio for="#{requestScope.modelComponent.clientId}" index="#{index}" />
</a:repeat>
</h:panelGrid>
Предостережения:
- Thisпривязывает компонент к карте области запроса, используя ключ "modelComponent";вам нужно убедиться, что это не сталкивается с чем-то другим
- Для разрешения
modelComponent.clientId
требуется JSF 2.0 (JEE6) или выше
См. здесь для получения более подробной информации;работа со старыми версиями;и т.д.