Я добавил теги переключателей для следующего JSP (сокращенного и анонимного) в приложении JSF.Он не отображает никаких переключателей и не вызывает никаких соответствующих методов в управляемом компоненте.
<h:form id="orderForm">
<t:selectOneRadio
id="theRadioInput"
layout="spread"
forceId="true"
forceIdIndex="false"
value="#{bean.aStringProperty}"
styleClass="field">
<f:selectItems value="#{bean.radioSelectItems}"/>
<a4j:support
event="onclick"
reRender="theRadioInput"
actionListener="#{bean.listener}"/>
</t:selectOneRadio>
<rich:dataTable
id="dataTable"
value="#{bean.listOfDataObjects}"
var="curDataObject"
rowKeyVar="index">
<rich:column style="border-left">
<rich:panel style="border:none">
...
</rich:panel>
</rich:column>
<rich:column>
<h:outputText value="#{curDataObject.location}" styleClass="label" style="font-size:12;"/>
<rich:dataList var="item" value="#{curDataObject.someItems}" rowKeyVar="itemIndex" styleClass="noWrap">
<h:outputText value="Some data:" styleClass="label" />
<h:outputText value="#{item}" styleClass="label" />
</rich:dataList>
<t:radio for=":orderForm:theRadioInput" index="#{index}" rendered="curDataObject.radioApplicable"/>
</rich:column>
</rich:dataTable>
</h:form>
Интересно, тот факт, что я использую <rich:dataTable>
, а не <t:dataTable>
Сделать разницу?Что еще может помешать появлению переключателей вообще?Даже bean.getRadioSelectItems()
не вызывается во время рендеринга.(Он вызывается позже, когда страница отправлена.)
Если вы настаиваете, возможно, я опубликую соответствующий код из управляемого компонента, но я не думаю, что это проблема, так как это не такдаже звонят.
«Настоящая» версия этой страницы работает и уже несколько лет находится в производственном приложении.Добавление радиокнопок - единственное изменение.