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 にも同様の機能があることは承知していますが、現時点では、この用途のためだけに別の完全なコンポーネント ライブラリを導入したくありません。これは非常に無駄のない変換プロセスであるため、可能な限り変更を最小限に抑えようとしています。