当前位置:首页 > 开发 > 编程语言 > JSP > 正文

jsp页面实现打印功能

发表于: 2013-08-16   作者:cloklo   来源:转载   浏览:
jsp
摘要: 在实际应用中,打印是一项常用的必备功能。在JSP的项目开发中,如何实现打印功能呢?方法有很多,当然实现的难易也不同。本文介绍两种简单的实现方法:第一种方法,将JSP的运行结果生成为Word文档或Excel文档,利用office自身的打印功能;第二种方法,通过DOM设定需要打印的页面部分,再通过JavaScript函数print()调用浏览器自带的打印功能。 以下通过实例进行说明。 一、&nbs

在实际应用中,打印是一项常用的必备功能。在JSP的项目开发中,如何实现打印功能呢?方法有很多,当然实现的难易也不同。本文介绍两种简单的实现方法:第一种方法,将JSP的运行结果生成为Word文档或Excel文档,利用office自身的打印功能;第二种方法,通过DOM设定需要打印的页面部分,再通过JavaScript函数print()调用浏览器自带的打印功能。

以下通过实例进行说明。

一、    方法一的实例

以图1所示的效果为例。图1中显示了需要打印的数据格式和数据内容。

 

1

步骤:

1.先通过Word文档建立图2所示的形式,将相应的word文档另存为“htm”“html”网页文件。

2

2.将上述网页文件后缀名改为.jsp。以编码方式打开文件后,看见很多代码,这些代码是由word自动生成的,与常规的html代码不太相同,我们无须太多关注。

3.在上述jsp文件中添加以下代码:

<%@ page contentType="application/msword;charset=GBK" %>

4.为了能够打印不同学生的数据,实际的准考证编号、姓名等等数据由数据库提供。也就是说,学生在网上报名参加比赛,填写自己的基本信息,最后由系统生成准考证号、考场、座位号。不管怎样,这些数据都保存的数据库中。由于篇幅所限,如何进行网上报名,填写考生基本信息,如何自动生成准考证号、考场、座位号,本实例不进行讨论。只着重讨论如何提取出数据,填写在相应的位置上。

设计如表1所示的数据表t_info

字段名称

类型

长度

说明

备注

id

int

4

自动增加,主键

记录号

name

char

4

非空

姓名

studentid

char

10

非空

学号

department

varchar

12

非空

系别

grade

char

4

非空

年级

major

varchar

20

非空

专业

room

int

2

 

考场

seat

int

2

 

座位

exam_id

char

11

 

准考证号

5.在上述jsp文件中,添加与数据库查询操作相关的代码。具体如下(2-31行所示):

6.将要打印的数据填写到具体的位置上。

1)填写考试年份(172-175行)

2)填写准考证号(223行)

3)填写其他数据。

4)填写代码,关闭与数据库的连接。

7.启动服务器,输入http://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为例。打印页面中的表格。

3

具体代码如下:

实际应用时,<table>的具体形式根据实际情况制定,24行、28行这些数据实际由数据库中读取。也就是说,在上述代码的基础上,添加实际的JSP脚本即可。

 

 

其他的控制打印的方法也很多,基本原理是一致的:设置格式、动态填入需打印的实际数据

jsp页面实现打印功能

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号