改寫maximo中dialog 類

在應用程序中,有多個簽名字段,初步設計爲 點擊字段後的按鈕,彈出對話框,在其中驗證用戶名和密碼,驗證通過將用戶的displayname 寫入簽名字段。

 

問題在於,如果使用現在的dialog類,無法獲取到對話框是從哪個字段彈出的,所以需要每個字段綁定一個dialog。

 

後來在treeControlBean中發現,tree可以獲取到dataattribute,即觸發源字段。 仿照tree類,改寫dialog。

 

 

public class Dialog extends psdi.webclient.controls.Dialog {
 
 private String sourceDataAttribute;
 private ControlInstance sourceControl;
 private DialogContrloBean dialogDataBean;

 public String getSourceDataAttribute() {
  return sourceDataAttribute;
 }

 public void setSourceDataAttribute(String sourceDataAttribute) {
  this.sourceDataAttribute = sourceDataAttribute;
 }
 
 public Dialog(){
  super();
  sourceDataAttribute = null; 
  dialogDataBean = null;
 }
 
 /**
  * 獲取dialog的sourceDataAttribute。
  */
    public void initialize() {
        super.initialize();
        sourceControl = getWebClientSession().getCurrentEvent().getSourceControlInstance();
       
        if(sourceControl != null)
        {
            sourceDataAttribute = sourceControl.getProperty("dataattribute");
           
            if(sourceDataAttribute.equals("") || null==sourceDataAttribute){
             return;
            }
        }       

        dialogDataBean = (DialogContrloBean)getDataBean();
        dialogDataBean.setSourceDataattribute(sourceDataAttribute);
    }

}

這樣就可以在databean類裏面獲取到源字段。

 

在control-registry.xml 修改組件dialog對應的類,指定到自己的類即可。

<control-descriptor name="dialog" descriptor-class="psdi.webclient.system.runtime.DatasrcDescriptor"  instance-class="${package}.Dialog" >

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章