原代码如下:
<rich:tabPanel switchType="client" >
<rich:tab label="维保到期预警" >
<ui:include src="WarningMaintenanceExpire.xhtml"/>
</rich:tab>
<rich:tab label="IP临时分配到期预警" >
<ui:include src="WarningIPDistributed.xhtml"/>
</rich:tab>
</rich:tabPanel>
(1)参考http://www.richfacescn.com/topic_detail.html?id=193:一开始以为是<tabPanel>、<tab>标签的问题,分别加上id值,还是报错,问题没能解决。
(2)参考http://zhglhy.iteye.com/blog/1388963:
可能原因:1.由于在faces-config.xml中配置类为session,当刷新或后退时页面重新生成重复组件
2.由于多个页面dataTable里配置变量都一样导致,当刷新或后退时页面重新生成重复组件
解决方法:在dataTable里的所有标签都加上非重复id
最后认真分辨每个<tab>对应的xhtml,查看了多个标签的id值,发现了有问题的代码如下:
<h:form id="all">
<rich:dataTable id="warningMaintenanceExpire" style="width: 98%"……(其中,xmlns:h="http://java.sun.com/jsf/html")
解决方法:重新定义两个xhtml的<h:form>的id值,问题搞定了。