动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息



本月文章推荐
.ant+cactus+tomcat5.5容器内单元.
.var 语句.
.一个显示日期的简单小程序,主要是.
.使用Eclipse IDE创建统一开发环境.
.Enterprise JavaBeans组件慨述(.
.Java网络编程之URI、URL研究专题.
.无线通信技术CDPD vs GPRS大比拼.
.人物专访: 畅销作家Harold《 Jav.
.漫谈Java平台上的CRM系统.
.Jini 能给您带来什么.
.SCJP Braindumps 05/15/2002.
.面向对象编程:Java中的抽象数据类.
.教程/系统编程 在Java中处理日志.
.Java编程基础中模式和框架的介绍.
.判断JAVA_HOME友好提示用户.
.使用Java语言编写程序最容易犯的.
.体验J2SE 1.5新特性之增强For循环.
.总是要改写tostring().
.Java简单类型进行精确浮点数运算.
.Hibernate查询语言:HQL.

Cell插件在J2EE系统中的应用

发表日期:2008-1-5 |


[摘要] 在基于J2EE平台的信息系统中,具有丰富表现能力的Java Applet是界面层的一种重要形式。但Java API对打印的支持比较弱,打印输出复杂的单据和报表需要大量工作。本文介绍的系统通过引入一个ActiveX控件--Cell插件--来解决这个问题。该系统中,由Java Applet完成界面表现,由Cell插件完成打印输出,两者之间通过Sun公司的一套接口API互相通信。
  
  一、Java Applet与Ocx控件的交互
  
  1.1从Java Applet访问Java Script方法和Ocx控件
  
  Sun公司在JDK中提供了一套从Java Applet访问Java Script的API,由此可以实现Java Applet访问Html页面中的DOM对象的机制。该API以一个Jar文件的形式提供:%JAVA_HOME%\jre\lib\jaws.jar,其中%JAVA_HOME%是你安装JDK的目录。将该jar文件加入到环境变量classpath中,就可以用它实现从Java Applet到Java Script的调用了。下面是一段调用Java Script中的方法的代码实例:
  
  import netscape.javascript.*;
  import java.applet.*;
  import java.awt.*;
  class MyApplet extends Applet {
   public void init() {
     JSObject win = JSObject.getWindow(this);
     JSObject doc = (JSObject) win.getMember("document");
     win.call("f", null);
   }
  }
  在上面的代码中,win.call(“f”, null)调用了JavaScript中的方法f()。
  
  1.2从JavaScript访问Java Applet
  
  当使用Java Plugin1.4.x运行Java Applet时,只需把Java Applet中的方法视为Java Plugin这个控件的方法,直接在Java Script中进行调用即可。下面用一个简单的例子进行说明:
  
  (1) 在载入Java Plugin的Object标签中,用参数ID指定一个名字:
  
  
  (2) 在HTML页面上增加一个按钮,点击它时从Java Script调用Java Applet中的方法:
  
    onClick="calculate" language="JavaScript">
  (3) 假定你的Java Applet是MyApplet.java,它有一个public方法method1(),那么就可以用如下的Java Script代码直接调用该方法:
  
  
  二、Cell插件简介
  
  华表的Cell插件是一个功能非常类似于Excel的、用于Web开发的ActiveX控件。它可以在Windows的浏览器中显示、编辑、打印表格。
  
  三、系统实现
  
  1.1 系统架构
   Cell插件在J2EE系统中的应用(图一)
  图一是系统的配置示意图。由图可见,这是一个典型的三层应用系统。在本系统中,Java Applet和Cell插件部署在Web Server上,在运行时,它们被下载到客户端,运行在浏览器中。
  
  图二是系统的运行示意图。由图可见,运行在客户机上的Java Applet通过Web Server上的Servlet访问应用服务器上的EJB,与后台交互。Java Applet作为表示层,在客户机上显示界面。
  
  当需要打印输出时,Java Applet将数据和显示格式设置到华表插件中,并调用华表插件的打印与览和打印方法,完成打印功能。
  Cell插件在J2EE系统中的应用(图二)
  1.2 用Cell插件实现Java界面的打印
  
  1.2.1在HTML页面上嵌入华表的Cell插件
  
  为了在Applet界面中调用华表的Cell插件,我们首先在HTML页面上隐藏了一个Cell插件:
  
  

  
  通过style="HEIGHT: 0px; WIDTH: 0px"指定Cell插件的高度和宽度都为0,从而达到隐藏Cell插件的目的。
  
  1.2.2 在Applet中提供两个调用接口方法
  
  下面是一个Applet的代码实例,其中提供了callCellMethod()和callJavaScriptMethod()两个接口方法,分别可用来调用Cell插件的方法和JavaScript的方法:
  
  public class MyApplet extends javax.swing.JApplet {
  
  private JSObject win = null;
  
  private JSObject cell = null;
  
  
  
  public Object callCellMethod(String name, Object[] params) {
  
    return getCell().call(name, params);
  
  }
  
  
  
  public Object callJavaScript(String name, Object[] params) {
  
    return getJSwin().call(name, params);
  
  }
  
  
  
  private JSObject getCell() {
  
    if (cell == null) {
  
       try {
  
           JSObject doc = (JSObject)getJSwin().getMember("document");
  
           JSObject all = (JSObject)doc.getMember("all");
  
           cell = (JSObject)all.call("item", new Object[]{"DCellWeb1"});
  
       }
  
       catch (Exception e) {
  
           e.printStackTrace();
  
       }
  
    }
  
    return cell;
  
  }
  
  
  
  private netscape.javascript.JSObject getJSwin() {
  
    if (win == null) {
  
       win = netscape.javascript.JSObject.getWindow(this);
  
    }
  
    return win;
  
  }
  
  }
  
  通过getCell()这个方法,可以在Java Applet中直接获得用JSObject表示的Cell插件,从而可以直接调用它的方法。例如,在Java Applet中向Cell插件的一个单元格写入数据,可以如下调用:
  
       Integer row = new Integer(1);
  
       Integer column = new Integer(1);
  
       Integer page = new Integer(0);
  
       callCellMethod("SetCellString", new Object[]{column, row, page, “str”});
  
  其中SetCellString是Cell插件提供的接口方法。这样就实现了从Java Applet到华表的Cell插件的调用。
  
  五、结论
  
  在这个应用系统中,我们只利用Cell插件的打印预览和打印两项功能,不用它做屏幕显示。所有打印格式和数据都在Java Applet中预备好,按单元格向Cell插件设置格式和数据,由Cell插件完成分页和打印功能。
  
  这是一种表现与数据分离的方式:Java Applet中只组织打印数据,所有打印的表现工作交给Cell插件完成,因此能够大大降低工作量。
  
  Cell插件除打印功能外,还具有输入、显示、编辑、图表等非常强大的功能,可以制作出非常复杂的报表。利用Cell插件,还可以将数据导出为Excel或PDF等格式的文件。
  
  六、参考文献
  
  1.    Cell插件文档:http://www.cellsoft.cc
  
  2.    Java Plugin 文档:http://java.sun.com/j2se/1.4.1/docs/guide/plugin/
上一篇:用Java Socket制作广播信使程序 人气:449
下一篇:JAVA基础应用:日期时间选择控件(代码) 人气:938
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵