打印JSP页面的一部分成功,但DIV部分被拆分

时间:2016-06-24 13:29:07

标签: javascript jsp

我找到了this网站,它确切地告诉了我我需要的东西,但是我试图让任何DIV部分在打印过程中不被分割。我的页面在我检索的一个DIV中有大约5个DIV元素。主要内容中的每个DIV都可以是X个长度,并且可以有多个DIV(参见代码块' class =" SomeHistory"'),因此它可以是任何一个那些在打印时分裂的东西。

它不会创建一个新页面,所以它应该包含其中的所有样式,所以我不确定可以做什么。

注意:下面是实际的

<div id="divToPrint" >
<div class="detail">
 <table cellspacing="0" cellpadding="0" style="width:600;">
  ..
  ..
 </table>
</div>

<div class="detail">
 <table cellspacing="0" cellpadding="0" style="width:600;">
  ..
  ..
 </table>
</div>

<div class="detail" style="page-break-after: auto">
 <table cellspacing="0" cellpadding="0" style="width:600;">
  ..
  ..
 </table>
</div>

<c:forEach items="${simpleList}" var="rez">
<jsp:useBean scope="request" id="rez" class="SomeHistory"/> 

<div class="detail" style="page-break-after: avoid">
 <table cellspacing="0" cellpadding="0" style="width:600;">
  ..
  ..
 </table>
</div>
</c:forEach>

<div class="detail" style="page-break-after: auto">
&nbsp;
</div> 

<div class="detail" style="page-break-after: auto">
 <table cellspacing="0" cellpadding="0" style="width:600;">
  ..
 </table>
 <table cellspacing="0" cellpadding="0" style="width:600;">
  ..
  ..
</div>
</div>

这是从链接中使用的实际javascript,没有任何改变,但是&#34; getElementById&#34; ..

function printDiv(divID) {
//Get the HTML of div
var divElements = document.getElementById("divToPrint").innerHTML;
//Get the HTML of whole page
var oldPage = document.body.innerHTML;

//Reset the page's HTML with div's HTML only
document.body.innerHTML = 
  "<html><head><title></title></head><body>" + 
  divElements + "</body>";
//Print Page
window.print();

//Restore orignal HTML
document.body.innerHTML = oldPage;
}

1 个答案:

答案 0 :(得分:0)

我的解决方案是更改以下内容:

Select a, count(b) from A a join a.bs b group by a

我不得不调整分页符的其他部分内容,但现在可以在打印时将DIV部分保持在一起。