t: selectOneRadio с t: radio отображает ничего - PullRequest
0 голосов
/ 16 ноября 2011

Я добавил теги переключателей для следующего 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() не вызывается во время рендеринга.(Он вызывается позже, когда страница отправлена.)

Если вы настаиваете, возможно, я опубликую соответствующий код из управляемого компонента, но я не думаю, что это проблема, так как это не такдаже звонят.

«Настоящая» версия этой страницы работает и уже несколько лет находится в производственном приложении.Добавление радиокнопок - единственное изменение.

1 Ответ

1 голос
/ 16 ноября 2011

Первое, что приходит на ум, это то, что атрибут rendered переключателя пытается вычислить строку.Похоже, вы хотели, чтобы оно было выражением EL, но не использовали скобки.

...