首先,这个肯定不是JSP的错,是你代码的错。
所以,你只提JSP是没有用的,要么换一个人,要么把你的代码POST出来,不然谁也帮不了你。
1.点击按钮触发导出事件
//导出
function outOk(id){
var ids=id;
self.location="DownLoadMerchKey?ids="+ids;
}
2.导出servlet
MerchantsDao merchantsDao =(MerchantsDao)SpringManager.getBean("merchantsDao");
//获取参数
String id=request.getParameter("ids");
int mId=Integer.parseInt(id);
String roleNames = (String) session.getAttribute("roleName"); //获取角色名称
if(StringUtils.isEmpty(roleNames)||!"系统管理员".equals(roleNames)){
log.PrintLogINFO(ModelName, ClassName, MethodName, "--获取角色身份信息返回失败结束(不是系统管理员,没有权限)--");
}else{
Merchants merchants=merchantsDao.findMerchantsByMerchId(mId);
request.setAttribute("merchants", merchants);
log.PrintLogINFO(ModelName, ClassName, MethodName, "--导出商户密钥Excel返回成功结束--");
LogUtil.insertLogINFOOutOk((Integer) session.getAttribute("id"),(String) session.getAttribute("nameLogin"),
"导出了商户序列号为"+id+"的密钥");
request.getRequestDispatcher("JSP/merchantsJsp/merchKeyOutExcel.jsp").forward(request,response);
}
3.导出值页面
<%
response.setContentType("text/plain");
String filename="商户密钥.txt";
response.setHeader("Content-disposition","attachment;filename="+new String(filename.getBytes("gbk"),"iso8859-1"));
Merchants merchants=(Merchants)request.getAttribute("merchants");
%>
商户密钥
公钥:
<% String gy=merchants.getPubkey(); if(gy==null||"".trim().equals(gy)){ gy=""; } out.print(gy);%>
私钥:
<% String sy=merchants.getPrikey(); if(sy==null||"".trim().equals(sy)){ sy=""; } out.print(sy);%>
个人认为 类似asp.net 页面回传 点击按钮执行一次 页面因回送而被重新加载 有执行一次。,jsp: IsPostBack属性不知道 有类型的没有