页面1中有一按钮,点击后进行业务处理并生成打印方法的参数,同时开启页面2,需要根据页面1生成的参数生成打印数据。 我有一思路:点击页面1按钮时,通过js打开一空页面2,按钮事件处理完后,再次响应页面2,不知道是否合理?如何实现?谢谢!!!
解决方案 »
- 个别字符乱码问题。js encodeURI(str)转码 后台java.net.URLDecoder.decode(str, "UTF-8")转码,
- 菜鸟请教jsp中的session问题,急~~~~~~~~
- 怎么在注册用户时的及时提醒用户
- 求一个在线考试系统的计时器组件设计思想,请各位帮忙!!在线等!!!!
- 为什么select下拉列表框中的内容变成小方格,有谁见过呀?
- 为什么我的apache服务不能启动
- 关于JBUILDER里引入上传文件包的问题,在线等,谢谢
- JSP中有没有直接操作时间的方法?
- 菜鸟问题
- 请问保存文章内容的字段应用什么类型的(oracle),急!!!
- 如何用javascript实现异步刷新?
- 跪求孙卫琴的《精通hibernate》的清晰版以及光盘源码,大家有没有啊....
...这里是打印方法参数生成代码;
window.open("2.html");很简单的!
先创立记录集rs,保存查询出来的记录集,然后
try{
ResultSetMetaData rsmd=rs.getMetaData();
int no=1;
while(rs.next()){
out.println("<tr>");
out.println("<td height='25' align='center' bgcolor='#FFFFFF'>"+no+"</td>");
for(int i=2;i<=rsmd.getColumnCount();i++){
%>
<td align="center" bgcolor="#FFFFFF"> <%=rs.getString(i)%></td>
<%
}
out.println("</tr>");
no++;
}
}catch(Exception e){
System.out.println(e.getMessage());
}
使用下面函数将页面信息输出到WORD
<script language="javascript">
function outDoc(){
var table=document.all.customer;
row=table.rows.length;
column=table.rows(1).cells.length;
var wdapp=new ActiveXObject("Word.Application");
wdapp.visible=true;
wddoc=wdapp.Documents.Add(); //添加新的文档
thearray=new Array();
//将页面中表格的内容存放在数组中
for(i=0;i<row;i++){
thearray[i]=new Array();
for(j=0;j<column;j++){
thearray[i][j]=table.rows(i).cells(j).innerHTML;
}
}
var range = wddoc.Range(0,0);
range.Text="客户信息列表"+"\n";
wdapp.Application.Activedocument.Paragraphs.Add(range);
wdapp.Application.Activedocument.Paragraphs.Add();
rngcurrent=wdapp.Application.Activedocument.Paragraphs(3).Range;var objTable=wddoc.Tables.Add(rngcurrent,row,column) //插入表格
for(i=0;i<row;i++){
for(j=0;j<column;j++){
objTable.Cell(i+1,j+1).Range.Text = thearray[i][j].replace(" ",""); }
}
wdapp.Application.ActiveDocument.SaveAs("customerList.doc",0,false,"",true,"",false,false,false,false,false);
wdapp.Application.Printout();
wdapp=null;
}
</script>
通过链接<a href="#" onClick="outDoc();">打印</a>调用打印
现在主要的问题是如何传递参数(存于session bean中)到页面2
在页面1中的按钮的onclick中window.open"/xx/faces/newPage1.jsp", "_blank","height="+screen.availHeight+",width=,"+screen.availWidth - 195 +"toolbar=no,menubar=no,status=yes,scrollbars=yes")
打开空的页面2,然后按钮事件处理完后,声称参数存放于session bean,这时候如何响应页面2,使其取得此参数。
获取对应的记录了,并生成一个报表,再把这个报表output出来就可以啦,,,:)
1、页面1中有一个“缴费”按钮,按钮处理后生成一个打印字符串prtStr放到session bean中
(this.getSessionBean1().setPrintString(printStr);)
2、“缴费”按钮javascript的onclick()中打开打印页面2 {window.open"/yx/faces/newPage1.jsp", "_blank","height="+screen.availHeight+",width=,"+screen.availWidth - 195 +"toolbar=no,menubar=no,status=yes,scrollbars=yes");}3、打印页面2的初始化过程中取打印字符串(printStr = this.getSessionBean1().getPrintString();),生成打印的pdf文件现在存在的问题是在页面1的“缴费”按钮处理完毕生成打印字符串后,没有办法传给打印页面2,因为打开打印页面2 的代码在按钮的onclick()中,还没有处理就已经打开页面2了。需要等“缴费”按钮处理完毕后,再次响应页面2,将打印字符串传给页面2
2.写一个JS函数:
页面2 onload js定时器,页面2不断查看request传过来的字符串是不是空的,如果是继续不断查看,如果不是,获取其中的值显示出来,停止定时器