post方式传值问题

   前几天遇到了一个很灵异的问题,我做了的纯页面的下载清单的页面,刚开始几天运行Ok,但是最近几天报了BUG,打印出来为NULL。

      页面采用JS提交,代码如下:

         function exportExcel() {

          document.getElementById("excelData").value=document.getElementById("divExcel").innerHTML;

            var _myForm=document.getElementById("exportExcel");

           _myForm.action="excelExport.jsp";

         _myForm.submit();

}   

 


页面代码如下:

   <body>

<form id="exportExcel" method="post">

<input type="button" value="导出EXCEL" onClick="exportExcel();"/>

<div id="divExcel">

<table>略</table>

</div>

<input type="hidden"  name="excelData" id="excelData"/>

</form>

</body>


excelExport.jsp代码如下:

 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
String tableStr = request.getParameter("excelData");
response.reset();
response.setContentType("application/msexcel; charset=UTF-8");
response.setHeader("Content-disposition","inline;filename=default.xls");
out.println(tableStr);
%>
查了很久没有查到原因,好家伙,真灵异的问题,今天无意中在网上闲看,看到一条信息,POST提交方式不能提交超过100K的字符!我突然想起来我的这个错误,会不会是字府串太长导致的错误呢,我一查看页面的表格的内容,哇`  16M的字符。当下确定了BUG原因,试想怎么解决呢?

我想到可以从页面传ID进action,然后通过ID在数据库中查到结果,最后通过StringBuffer拼接字符,传到excelExport.jsp页面吗?

     想到方案,马上便更改代码,按照方案来做更改,然后测试,一个300多M的清单信息哗啦啦的下载下来了,呵呵。

你可能感兴趣的:(html,jsp)