Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1960991
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: Java

2009-12-08 14:32:00

功能描述:

1. ZSS组件暴露一些JS接口,提供给外部嵌入系统调用。参考:

2. 外部系统调用ZSS组件JS接口时,ZSS组件执行外部系统的回调函数,并传递相关参数给外部系统回调函数,外部系统独立执行相关逻辑处理,并返回值给ZSS,ZSS根据返回的值,判断是否执行相关参数。

   例如,外部系统调用ZSS保存操作

        外部系统调用的方法:onclick="index.window.onBwSaveBook('beforeSaveBook', 1, 3);"

        1) beforeSaveBook:告知ZSS要回调的函数,改JS函数存储在callbak.js文件中

        2) 1:获取ZSS组件sheet的row,-1表示整行

        3) 3:获取ZSS组件sheet的cell,-1表示整列

        以上表示:在调用ZSS保存操作时,告知ZSS返回第1行,第3列的值给外部系统,并回调外部系统的beforeSaveBook函数,ZSS根据回调函数beforeSaveBook处理后返回的值,决定是否执行保存操作。

操作截图:

1. 系统界面

 
 
2. 点击保存(调用ZSS组件的saveBook函数->ZSS回调,执行beforeSaveBook->根据beforeSaveBook返回的值决定是否执行ZSS保存)
 
 
 
3. 真正执行保存
 
 
4. 保存成功
 

代码片段:

外部系统

.html

"button" value="保存文件" onclick="index.window.onBwSaveBook('beforeSaveBook', 1, 3);"/> 

callbak.js (同一存放回调函数,注意用javax.swing.JOptionPane.showMessageDialog代替alert)

functionbeforeSaveBook(cell){  
println(cell);  
javax.swing.JOptionPane.showMessageDialog(null,cell,"message",javax.swing.JOptionPane.OK_OPTION);  
return"1";  

ZSS组件

index.zul

   
    
    ]]>  
  import com.botwave.util.JSUtil;  
 
    
  void onBwSaveBook() {  
   var value = onBwSaveBook.value;  
   var callbackIndex = value.indexOf("_CALLBACK:");  
   var paramIndex = value.indexOf("_PARAM:");  
   if(callbackIndex == -1 || paramIndex == -1) {  
    alert("系统繁忙,请稍后!");  
    return;  
   }   // 获取参数  
   var param = value.substring(paramIndex, callbackIndex);   // 获取回调函数  
   var callbackfunc = value.substring(callbackIndex);  
   callbackfunc = callbackfunc.replace("_CALLBACK:","");  
   param = param.replace("_PARAM:","");  
   var params = param.split(",");  
   // 获取sheet  
   var sheet = ss1.getSelectedSheet();    // 获取具体行列值  
   var cellValue = sheet.getCell(Integer.parseInt(params[0])-1, Integer.parseInt(params[1])-1).getEditText();  
 
   var p = new String[2];  
   p[0] = cellValue;   // 回调JS  
   var returnValue = JSUtil.callJS(callbackfunc, p);  
   if(returnValue.equals("1"))  
    w1.onBwSaveBook();  
   else 
    alert("no excute!");  
  }  
 "onBwSaveBook" name="onBwSaveBook" onChange="onBwSaveBook();" style="width:0px;height:0px;border:0px;padding:0px"/> 
 
阅读(650) | 评论(0) | 转发(0) |
0

上一篇:ZK 网络佳文

下一篇:url rewrite和struts2整合

给主人留下些什么吧!~~