jsp打印

本文介绍了一种使用JavaScript实现网页打印的方法,包括确认打印、关闭窗口、表单数据绑定及样式调整等关键步骤,确保打印效果符合预期。
<script language=javascript>
    var printIt = function() {
        if (confirm('确定打印吗?')) {
            bindData();
            var mWindow = window;
            window.document.body.innerHTML = document.getElementById("form").innerHTML;
//字体调整 $(
"input,label,select,textarea,radio-inline").css("font-size", "8px"); $("label").css("font-weight","lighter"); mWindow.print(); } } var windowClose = function() { window.opener = null; window.open('', '_self'); window.close(); }; //将表单中的数据进行绑定,便于html()的时候获取到 function bindData(){ $("input").each(function(){ $(this).attr('value',$(this).val()); }); $("input[type='radio']:checked").each(function(){ $(this).attr('checked', true); }); $("select option:selected").each(function() { $(this).attr('selected', true); }); //搞定 textarea $("textarea").each(function() { $(this).html($(this).val()); }); } </script> <style type="text/css" media=print> .Noprint{display : none } </style> <center class="Noprint"> <p class="Noprint"> <OBJECT id="wb" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" name="wb"></OBJECT> <input type=button value="打印" onclick="printIt()">&nbsp;&nbsp; <input type=button value="关闭" onClick="windowClose()">&nbsp;&nbsp;<br/> </p> </center>

然后在主页面引入即可

<title>打印</title>
<%@include file="/avicit/ims/hr/common/print/print.jsp"%>

 

转载于:https://www.cnblogs.com/person008/p/10418249.html

<think>好的,用户的问题是关于如何在JSP中实现打印功能,需要示例代码。首先,我需要回忆一下JSP的基本结构和相关技术。JSP通常用于生成动态网页内容,而打印功能一般属于前端JavaScript的范畴,所以可能需要结合JavaScript来实现。 接下来,用户可能需要的是在页面上添加一个打印按钮,点击后触发打印当前页面或特定区域的内容。这时候,我应该想到使用window.print()方法,这是JavaScript中常用的打印方法。不过,用户可能希望只打印页面的某一部分,比如一个表格或者表单,这时候就需要用CSS来控制打印区域。 然后,考虑到用户可能需要示例代码,我需要准备一个简单的JSP页面结构,包含HTML和JavaScript部分。例如,在JSP页面中添加一个按钮,点击时调用打印函数。同时,使用CSS的@media print媒体查询来隐藏不需要打印的元素,比如导航栏或按钮本身。 另外,用户可能还想知道如何局部打印,比如只打印某个div的内容。这时候可能需要创建一个隐藏的iframe,将要打印的内容复制进去,然后调用其打印方法。这种方法可以避免影响主页面,同时更灵活地控制打印内容。 还需要注意JSP中动态生成的内容如何被正确打印,比如从数据库获取的数据展示在表格中,打印时需要确保这些数据在客户端已经渲染完成。这时候可能需要确保JavaScript在页面加载完成后执行,或者使用AJAX来获取数据后再触发打印。 此外,用户可能对浏览器兼容性有疑问,需要提到不同浏览器对打印的支持情况,以及常见的解决办法。比如,某些浏览器可能需要用户手动允许弹出窗口,或者调整打印设置。 最后,总结实现步骤:添加打印按钮,编写JavaScript函数,使用CSS控制打印样式,处理局部打印的需求。提供示例代码,并解释各部分的作用,确保用户能够理解并应用到实际项目中。</think>### JSP实现打印功能的解决方案 在JSP中实现打印功能主要通过JavaScript的`window.print()`方法实现,结合CSS控制打印区域样式。以下是两种常见实现方式: #### 一、基础打印(全页打印) ```jsp <%@ page contentType="text/html;charset=UTF-8" %> <html> <head> <script> function printPage() { window.print(); } </script> </head> <body> <h2>订单详情</h2> <table border="1"> <tr><th>产品名称</th><th>单价</th></tr> <tr><td>Java编程指南</td><td>¥89.00</td></tr> </table> <button onclick="printPage()">打印本页</button> </body> </html> ``` #### 二、局部打印(指定区域) ```jsp <%@ page contentType="text/html;charset=UTF-8" %> <html> <head> <style> @media print { .no-print { display: none; } #printArea { visibility: visible; position: absolute; left: 0; top: 0; } } </style> </head> <body> <div class="no-print"> <!-- 导航栏等非打印内容 --> </div> <div id="printArea"> <h2>财务报表</h2> <table border="1"> <tr><th>项目</th><th>金额</th></tr> <tr><td>总收入</td><td>¥15,200.00</td></tr> </table> </div> <button onclick="window.print()" class="no-print">打印表格</button> </body> </html> ``` ### 关键点说明 1. **CSS媒体查询**:通过`@media print`定义打印时的特殊样式,隐藏不需要打印的元素 2. **DOM控制**:使用`visibility`和`position`属性确保打印内容正确布局 3. **浏览器兼容性**:主流浏览器均支持`window.print()`方法,但打印预览界面因浏览器而异 ### 高级技巧 对于复杂打印需求,可以: 1. 使用`<iframe>`创建独立打印容器 2. 通过JavaScript动态生成打印内容 3. 调用浏览器的打印预览功能: ```javascript function advancedPrint(content) { const printWindow = window.open('', '_blank'); printWindow.document.write('<html><head><title>打印文档</title></head>'); printWindow.document.write('<body>' + content + '</body></html>'); printWindow.document.close(); printWindow.print(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值