Cell插件在J2EE系统中的应用

2016-01-29 12:00 23 1 收藏

Cell插件在J2EE系统中的应用,Cell插件在J2EE系统中的应用

【 tulaoshi.com - C语言心得技巧 】

Cell插件在J2EE系统中的应用


作者:赵继江

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)



摘 要:在基于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%jrelibjaws.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指定一个名字:
<OBJECT ID="MyPlunin" WIDTH=500 HEIGHT=120
CLASSID="CLSID:8AD9C840-044E-11d1-B3E9-00805F499D93">
<PARAM NAME="code" value="MyApplet.class">
...
</OBJECT>

(2) 在HTML页面上增加一个按钮,点击它时从Java Script调用Java Applet中的方法:

  <input type="button" name="Button1" value="Start"
onClick="calculate" language="JavaScript">

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)(3) 假定你的Java Applet是MyApplet.java,它有一个public方法method1(),那么就可以用如下的Java Script代码直接调用该方法:
<SCRIPT language="JavaScript">
function calculate() {
document.. MyPlunin.method1()
}
</SCRIPT>
二、Cell插件简介
华表的Cell插件是一个功能非常类似于Excel的、用于Web开发的ActiveX控件。它可以在Windows的浏览器中显示、编辑、打印表格。
三、系统实现
3.1 系统架构

图一
图一是系统的配置示意图。由图可见,这是一个典型的三层应用系统。在本系统中,Java Applet和Cell插件部署在Web Server上,在运行时,它们被下载到客户端,运行在浏览器中。

图二是系统的运行示意图。由图可见,运行在客户机上的Java Applet通过Web Server上的Servlet访问应用服务器上的EJB,与后台交互。Java Applet作为表示层,在客户机上显示界面。
当需要打印输出时,Java Applet将数据和显示格式设置到华表插件中,并调用华表插件的打印与览和打印方法,完成打印功能。
3.2 用Cell插件实现Java界面的打印
3.2.1在HTML页面上嵌入华表的Cell插件
为了在Applet界面中调用华表的Cell插件,我们首先在HTML页面上隐藏了一个Cell插件:
<OBJECT classid=clsid:3F166327-8030-4881-8BD2-EA25350E574A 
id=DCellWeb1 style="HEIGHT: 0px; WIDTH: 0px">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="14902">
<PARAM NAME="_ExtentY" VALUE="6075">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>

通过style="HEIGHT: 0px; WIDTH: 0px"指定Cell插件的高度和宽度都为0,从而达到隐藏Cell插件的目的。
3.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);

来源:https://www.tulaoshi.com/n/20160129/1484190.html

延伸阅读
这一段时间在学习J2EE&EJB,我最感兴趣的还是做JDBC的EJB,但是由于我手头上没有J2EE默认的Cloudscape,也不敢装Oracle,我的机器太次,跑J2EE已是满负荷运转,绝不能再加大家伙!因此我想继续使用小巧玲珑的Mysql。 首先当然是系统环境软件的安装,我就不多说了,在下面我给出了几种软件的下载地址。需要特别强调的是,请一定要注意你安装...
JBoss,作为J2EE应用服务器,以其EJB容器卓越的性能、技术的潮流性、开发部署J2EE应用的方便性赢得了很多J2EE开发者的信赖。其中,免安装、基于JMX构架、热部署(Hot Deploy)、快速开发EJB应用等几项特征与其他商用服务器相比,显得有些自得忘形的样子。 !-- frame contents -- !-- /frame contents -- 尽管其本身没有重大的缺陷,...
根据要求,写了一篇。我以Windows 为例。 谁能写一个Linux版本的,谢谢。 其实安装他们都很简单,先到 Sun网站或其它网站下载了 J2SE 和 J2EE RI 这两个文件。 下载后,先安装J2SE。 1。双击下载文件,自动解压后安装开始,在选择路径时,我推荐别用它给出的,自己设置一个, 如:我有C,D,E,H,L盘。我就把J2SE 放...
Borland公司推出JBuilder 7后,引起了很多Java爱好者的关注。本文就是笔者根据自己经验编写的在JBuilder7下配置Weblogic Server7.0。希望通过此文,大家能顺利地搭建一个比较普遍流行的J2EE环境,并学会开发基本的EJB程序。 创建一个Weblogic Server域 本文假设已经正确安装了JBuilder7和Weblogic Server7.0...
在这里我谈谈我在学习j2ee流程,并谈到在此过程中领会的经验和教训。以便后来者少走弯路。 Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。这三块相互补充,应用范围不同。 J2SE就是Java2的标准版,主要用于桌面应用软件的编程; J2ME主要应用于嵌入是系统开发,如手机和PDA的编程; J2EE是Java2的企业版,...

经验教程

766

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部