0

t:radio (t:selectOneRadio に関連付けられている) の値がバッキング Bean に渡されないという問題があります。現在、Jboss 7.2.0 で MyFaces 2.1.13 を使用して JSF 1.x から JSF 2.x に変換しており、2.0 バージョンの Tomahawk ライブラリがあります。私は何時間もかけてさまざまなことを試して機能させ、高低を検索しましたが、同じ問題に遭遇した人を見つけることができません. 値がチェックされると、セッターが呼び出されることはないと判断しました。

コードを抽出して単純化しましたが、ajax 呼び出しではまだ何も渡されません。

<h:form id="profileReport">

    <h:messages />

    <h:panelGrid columns="2">

        <t:selectOneRadio id="selectQuestionnaire" layout="spread" required="true" 
                value="#{viewProfile.selectedQuestionnaire}">
            <f:selectItem itemValue="SC_PRE!20121212095427.0000000.059814626868021525" /> 
            <f:ajax event="click" execute="@this" render="profileReport:selectTemplate profileReport" />    
        </t:selectOneRadio>

        <h:outputLabel for="selectQuestionnaire" value="#{prmsgs.firstQuestionnaireLabel}" styleClass="labelText" />
        <t:radio index="0" for="profileReport:selectQuestionnaire" />

        <h:outputLabel for="selectTemplate" value="#{prmsgs.exploratoryProcessTemplate}:" styleClass="labelText" />
        <h:selectOneListbox id="selectTemplate" value="#{viewProfile.selectedInterpretiveProfileTemplateId}" required="#{menuNavigation.selectInterpretiveProfileActive}">
            <f:selectItems value="#{viewProfile.interpretiveProfileTemplates}"/>
        </h:selectOneListbox>
    </h:panelGrid>
</h:form>

テスト目的で、t:selectOneRadio を h:selectOneRadio に置き換え、setter を呼び出します。次に、t:radioなしでt:selectOneRadioを試してみましたが、うまくいきました。t:radio の問題のようですが、現時点では何が問題なのかはわかりません。Icefaces にも同様の機能があることは承知していますが、現時点では、この用途のためだけに別の完全なコンポーネント ライブラリを導入したくありません。これは非常に無駄のない変換プロセスであるため、可能な限り変更を最小限に抑えようとしています。

4

1 に答える 1