读书人

PrimeFaces 3.0 JSF 开发笔记tabv

发布时间: 2012-06-27 14:20:09 作者: rapoo

PrimeFaces 3.0 JSF 开发札记——tabview

1. Tab标签的使用

?? ?用法:

???<p:tabView id="tabView" dynamic="true" cache="false">

<p:ajax event="tabChange"  listener="#manageTableBean.onReportSettingChange}" update="tableList" /> <p:tab id="modelTab" title="第一步:模型">content         </p:tab><p:tab id="modelTab2" title="第二步:模型">content
         </p:tab>
</p:tabView>

??在ManageTableBean中需要 存在onReportSettingChange(TabChangeEvent event)

?

public void onReportSettingChange(TabChangeEvent event) {        FacesMessage msg = new FacesMessage("Tab Changed", "Active Tab: " + event.getTab().getClientId());        if(event.getTab().getClientId().lastIndexOf("tableTab")>0){       .............//省略     }}

?但是如果在modelTab 中嵌套一个tabView时,在modelTab2和modelTab切换时会导致,

调用内层次嵌套的方法(假如内层的lisener=“#manageTableBean.onReportSettingChange2}”)的

onReportSettingChange2.

?

而onReportSettingChange2方法的参数为AjaxBehaviorEvent 的子类TabChangeEvent。

框架会提示找不到方法的异常。解决办法:

内层方法重载一个不同参数的。

代码如下

?

public void onReportSettingChange2(AjaxBehaviorEvent event) {        FacesMessage msg = new FacesMessage("Tab Changed", "Active Tab: " + event.getTab().getClientId());        if(event.getTab().getClientId().lastIndexOf("tableTab")>0){       .............//省略     }}public void onReportSettingChange2(TabChangeEvent event) {      }
?

?

?

?

读书人网 >JavaScript

热点推荐