ATGrid + JSP + Javascript + XML 开发Web控件打印

本文介绍如何使用ATGrid插件结合JSP和JavaScript实现Web打印解决方案。通过winTable设计报表模板,然后在网页中用标签引入模板,利用JS输出XML注入数据。文中详细讲解了安装插件、配置环境、设计报表模板以及使用JavaScript进行数据注入的过程,并提供了一个基于Struts 2.0的案例。 摘要由CSDN通过智能技术生成

 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中,涉及到对一个表单的二次提交,那么“打印”按钮的方法如下

   < INPUT  class =button  type ="button"  value ="    打印    "   onclick ="toPrint();" >

相应的javascript代码为

< script language = " javascript " >
function  toPrint() {
    window.document.myform.target
="_blank";
    window.document.myform.action
="SCQY_HTZXDGL_ImpleSheetSearchDetailPrint.action";
    window.document.myform.submit();
    window.document.myform.target
="_self";
    window.document.myform.action
="SCQY_HTZXDGL_ImpleGoodsValidity.action";
}

</ script >


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

首先引入控件

< object  classid ="clsid:D0CB6A0C-E656-4BF4-BD2D-6AE5EC183D7C"  id ="ATGrid1"  width ="100%"  height ="95%" >
  
< param  name ="FileName"  value ="impleSheet.eT" >
  
< param  name ="Ruler"  value ="true" >
</ object >


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

< script language = ' JavaScript ' >  

var  appCoName  =  document.all.appCoName.value;
var  headApprover  =  document.all.headApprover.value;
var  coSymbol  =  document.all.coSymbol.value;
var  LXConformer  =  document.all.LXConformer.value;
var  date  =  document.all.date.value;

var  strXML
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值