使用tomahawk和jsf切换选项卡会导致整个页面刷新并再次加载所有数据
我使用“panelTabbedPane”,创建了3个具有不同处理元素的选项卡。完成第一个选项卡上的详细信息后,切换到第二个和第三个选项卡效果很好。但一旦我决定从第3个选项卡切换到第1个或第2个选项卡,整个页面的刷新和所有数据的加载就会再次发生。这是对性能的巨大冲击。有人能帮我吗使用tomahawk和jsf切换选项卡会导致整个页面刷新并再次加载所有数据,jsf,tomahawk,Jsf,Tomahawk,我使用“panelTabbedPane”,创建了3个具有不同处理元素的选项卡。完成第一个选项卡上的详细信息后,切换到第二个和第三个选项卡效果很好。但一旦我决定从第3个选项卡切换到第1个或第2个选项卡,整个页面的刷新和所有数据的加载就会再次发生。这是对性能的巨大冲击。有人能帮我吗 <t:panelTabbedPane enabledOnUserRole="true" binding="#{ABCController.tabSet}" serverSideTa
<t:panelTabbedPane enabledOnUserRole="true"
binding="#{ABCController.tabSet}" serverSideTabSwitch="true"
styleClass="tabbedPane" activeTabStyleClass="activeTab"
inactiveTabStyleClass="inactiveTab"
disabledTabStyleClass="disabledTab" activeSubStyleClass="activeSub"
tabContentStyleClass="tabContent"
immediateTabChange="false">
<t:panelTab id="panelTab1" disabled="#{abc.disableTabOne}"
label="#{abc.tab1LabelTxt}">
<jsp:include page="./test1.jsp"></jsp:include>
</t:panelTab>
<t:panelTab id="panelTab2" disabled="#{abc.disableTabTwo}"
label="#{abc.tab2LabelTxt}">
<jsp:include page="./test2.jsp"></jsp:include>
</t:panelTab>
<t:panelTab id="panelTab3" disabled="#{abc.disableTabThree}"
label="#{abc.tab3LabelTxt}" >
<h:outputText rendered="#{!abc.downloadView}">
<jsp:include page="./test3.jsp"></jsp:include>
</h:outputText>
<h:outputText rendered="#{abcn.downloadView}">
<jsp:include page="./test4.jsp" />
</h:outputText>
</t:panelTab>
<t:tabChangeListener
type="org.portlets.controller.ABCController" />
</t:panelTabbedPane>
来自:
立即改变
定义当serverSideTabSwitch=true时,是否应在选项卡之间更改之前执行流程验证和更新模型阶段(如果为false,则通过其他方式进行切换,因此此属性不会产生任何影响)。请注意,如果此属性设置为false,则只有在表单中的所有输入字段都有效(包括此面板之外的输入组件)时,才会更改选项卡。默认情况下为true,因此不执行两个阶段
由于您有
serverSideTabSwitch=true
,选项卡更改是通过您观察到的请求/响应周期完成的。然而,通过设置immediateTabChange=false
,只有在查看了所有可用的选项卡之后,才会发生这种情况。尝试设置serverSideTabSwitch=false
(但我不知道在什么情况下最终会提交选项卡数据,我自己也没有尝试过)。当使用Richfaces而不是Tomahawk时,这个问题会得到解决吗?