首先,我在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>
我希望应用程序将视图保留在用户提交子表单的选项卡中,即使它没有通过我已定义的验证。此时,只有在验证并提交子表单时,&#39; MyBean.selectedTab`值才会更改。
即使表单未通过验证,有没有办法强制进行此更改?也许我没有以正确的方式解决问题,我怎样才能获得此行为吗
提前致谢。