JSP 打印
(
计算机教研室 龚平) 龚平) 在实际应用中,打印是一项
常用的必备功能。在 JSP 的项目开发 中,如何实现打印功能呢?方法有很多,当然实现的难易也不同。本 文介绍两种简单的实现方法:第一种方法,将 JSP 的运行结果生成为 Word 文档或 Excel 文档,利用 office 自身的打印功能;第二种方法, 通过 DOM 设定需要打印的页面部分,再通过
JavaScript 函数 print() 调用浏览器自带的打印功能。 以下通过实例进行说明。 一、 方法一的实例 以图 1 所示的效果为例。 1 中显示了需要打印的数据格式和数 图 据内容。
图1 步骤:
1
1.先通过 Word
文档建立图 2 所示的形式, 将相应的 word
文档另 存为“htm”或“html”网页文件。
图2 2.将上述网页文件后缀名改为.jsp。以编码方式打开文件后,看 见很多代码,这些代码是由 word 自动生成的,与常规的 html 代码不 太相同,我们无须太多关注。 3.在上述 jsp 文件中添加以下代码: <%@ page contentType="application/ms
word;charset=GBK" %> 4.为了能够打印不同学生的数据,实际的准考证编号、等等 数据由数据库提供。也就是说,学生在网上报名参加比赛,填写自己 的基本信息,最后由
系统生成准考证号、考场、座位号。不管怎样, 这些数据都保存的数据库中。由于篇幅所限,如何进行网上报名,填 写考生基本信息,如何自动生成准考证号、考场、座位号,本实例不 进行讨论。只着重讨论如何提取出数据,填写在相应的位置上。
2
设计如表 1 所示的数据表 t_info。 字段名称 id name studentid department grade major room seat exam_id 类型 int char char varchar char varchar int int char 长度 4 4 10 12 4 20 2 2 11 说明 自动增加,主键 非空 非空 非空 非空 非空 备注 记录号 系别 年级 专业 考场 座位 准考证号
5.在上述 jsp 文件中,添加与数据库
查询操作相关的代码。具体 如下(2-31 行所示) :
3
6.将要打印的数据填写到具体的位置上。 (1)填写考试年份(172-175 行)
(2)填写准考证号(223 行)
(3)填写其他数据。 (4)填写代码,关闭与数据库的连接。
4
7.启动服务器,输入 127.0.0.1:8080/xxx/demo11.jsp?ID=xx 进行查看(这里假设前述
JSP 文件名为 demo11.jsp,传入的 ID 值为 记录号,由登录报名的考生实际决定) ,弹出如下窗口:
可以直接“打开” ,也可以“保存” 。 8.在打开第 7 步得到的 word 文档后, 利用 Word 自带打印功能进 行打印操作。 小结:此方法 8 个步骤,看起来十分繁琐,其实不然。实际上就 小结 是 2 个步骤:先定义 Word 文档并另存为 html 文件,然后改为 JSP 文 件并填入 JSP 脚本片段。 通过 Excel 进行打
印的做法类似,不再赘述。 二、 方法二的实例 以图 3 为例。打印页面中的表格。
5
图3 具体代码如下:
6
实际应用时,
的具体形式根据实际情况制定,24 行、28 行这些数据实际由数据库中读取。也就是说,在上述代码的基础上, 添加实际的 JSP 脚本即可。
其他的控制打印的方法也很多,基本原理是一致的:设置格式、 动态填入需打印的实际数据。
(The End !)
7