首先,我在 JSF 1.2、RichFaces 3.3.0 和 Tomahawk 1.1.9 下。
我有一个rich:tabPanel
在每个选项卡中包含一个表单:
<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”的值只有在子表单被验证并提交后才会改变。
即使表单未通过验证,是否有任何方法可以强制进行此更改?也许我没有以正确的方式关注问题,我怎样才能得到这种行为?
提前致谢。