ATGrid 是国内的一款提供WEB打印解决方案的插件,最近由于项目需要,花了几天研究了下,并用这个插件实现了WEB打印,方案如下~ 因为是摸索,希望大家多多指教~
插件的下载
ATGrid控件下载地址: http://www.etcell.com/ATGrid/ATGrid.dll
ATGrid控件WEB运行包下载地址: http://www.etcell.com/ATGrid/ATGrid.cab
下载包中包括 winTable 报表模板设计器,ATGrid发行包,ATGrid帮助文档,还有一些例子。
插件安装
安装完系统后,会在安装目录下存在JavaLib文件夹,此文件夹下存在两个类文件,
分别为:ATGrid.jar和JavaATGrid.dll
设置方法如下:
(1)JavaATGrid.dll文件复制到System32文件夹下;
(2)把ATGrid.jar文件复制到jdk安装目录下的lib目录下;
(3)把ATGrid.jar文件复制到Tomcat安装目录下的common/lib目录下;
(4)环境变量->系统变量->在变量CLASSPATH的值中添加
“.;%JAVA_HOME%/lib/ATGrid.jar;”
(5)配置tomcat或者weblogic服务器的web.xml,便于能让xxx.et文件能下载
在web.xml文件中增加下面的内容:
<mime-mapping>
<extension>et</extension>
<mime-type>et</mime-type>
</mime-mapping>
(6)重启WEB服务器
下面开始设计
ATGrid WEB 开发主要以以下步骤,首先用winTable设计报表模板,然后在网页中用<object>标签引入模板,在用JS输出XML将数据注入模板。
下面以我开发时的例子来说明。
项目案例 : a.jsp中有一个FORM表单,里面包含一个table表格,做成的效果就是点击a.jsp下面的打印,然后弹出网页b.jsp,运行ATGrid插件,然后在b.jsp进行打印。
说明:当前的系统是基于struts 2.0 的
下面给出代码:
在a.jsp中,涉及到对一个表单的二次提交,那么“打印”按钮的方法如下

相应的javascript代码为










这个JS中,将打开一个新页面,并将FORM中的内容提交的action中,这个action再定位到b.jsp,也就是打印页面。下面是打印页面
首先引入控件




另外,我将a.jsp中的form的全部内容都传递到b.jsp,并设置为隐藏,这样就可以在javascript中引用这些动态的数据。(因为控件活动在浏览器端,所有控制控件的代码都必须写到javascript中)
下面是b.jsp中的js代码,用于输出XML,并将xml中定义的数据添加到控件模板








