2011-11-15 6 views
0

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から関連するコードを投稿するかもしれませんが、それは問題ではないと思います。と呼ばれる。

このページの「本物の」バージョンが動作し、数年間にわたって本番アプリケーションに組み込まれています。ラジオボタンの追加は唯一の変更です。

答えて

1

最初に頭に浮かぶのは、ラジオボタンのrendered属性が文字列を評価しようとしていることです。あなたがEL式であることを意図したように見えますが、中括弧は除外されています。

+0

最初のことは正しいことでした。あなたの鋭い目を貸してくれてありがとう! – nclark

関連する問題