路过拾遗

1、用IE浏览器AJAX提交缓存问题导致第二次提交时方法不执行

解决方法:在提交action后增加动态参数,如new Date()

2、文件下载弹出框 文件名为.action(提交请求action)

HttpServletResponse response = ServletActionContext.getResponse();

response.reset();// 清空输出流

response.setHeader("Content-disposition",
                        "attachment; filename="+new String(filename.getBytes("GB2312"), "ISO8859-1") );
                // 设定输出文件头
                response.setContentType("application/octet-stream");// 定义输出类型
                // 定义输出流,以便打开保存对话框_______________________end
                out = response.getOutputStream();
                out.flush();
                int len = 0;
                byte[] b = new byte[1024];
                while ((len = in.read(b)) != -1) {
                    out.write(b, 0, len);
                }

当时我竟然把response.reset();放在最后,浪费几个小时,罪过。最后记得关闭流

猜你喜欢

转载自mayh-1126.iteye.com/blog/2027955