JSFアプリケーションの次のJSP(省略形と匿名化)にラジオボタンタグを追加しました。ラジオボタンを描画したり、マネージドBean内の関連するメソッドを呼び出すことはありません。私は疑問に思うt:selectOneRadio with t:ラジオは何も表示されない
<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