0
我在JSF应用程序中将单选按钮标签添加到以下JSP(删节和匿名)。它不会呈现任何单选按钮,也不会调用托管bean中的任何相关方法。t:selectOneRadio with t:radio renders as nothing
<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()
。 (当页面提交后,它确实会被调用。)
如果你坚持,也许我会从托管bean发布相关代码,但我不认为这是问题,因为它甚至没有调用。
该页面的“真实”版本可以工作,并且已经在生产应用中使用了数年。单选按钮的添加是唯一的改变。
第一件事是正确的。谢谢你借给你敏锐的眼睛! – nclark