まず、私はJSF 1.2、RichFaces 3.3.0、Tomahawk1.1.9を使用しています。
rich:tabPanel
各タブに1つのフォームを含むがあります。
<h:form>
// This manages error messages thrown by my application:
<jsp:include page="showError.jsp" flush="true" />
<rich:tabPanel switchType="client" selectedTab="#{MyBean.selectedTab}">
<rich:tab name="tab1" label="TAB-1">
<t:subform id="subForm1">
//Some components such as h:inputText and h:selectOneMenu
<t:commandButton actionFor="subform1" action="#{BeanForm1.insertData}" value="INSERT">
<f:setPropertyActionListener target="#{MyBean.selectedTab}" value="tab1" />
</t:commandButton>
</t:subform>
</rich:tab>
<rich:tab name="tab2" label="TAB-2">
<t:subform id="subForm2">
//Some components such as h:inputText and h:selectOneMenu
<t:commandButton actionFor="subform2" action="#{BeanForm2.insertData}" value="INSERT">
<f:setPropertyActionListener target="#{MyBean.selectedTab}" value="tab2" />
</t:commandButton>
</t:subform>
</rich:tab>
</rich:tabPanel>
定義した検証に合格していなくても、ユーザーがサブフォームを送信したタブのビューをアプリケーションに保持させたい。現時点では、'MyBean.selectedTab`値は、サブフォームが検証されて送信された場合にのみ変更されます。
フォームが検証に失敗した場合でも、この変更を強制する方法はありますか?たぶん私は適切な方法で問題に焦点を合わせていません、どうすればこの振る舞いを得ることができますか?
前もって感謝します。