首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JSP保存文件后页面跳转有关问题

2012-01-31 
JSP保存文件后页面跳转问题privatevoiddoDown(HttpServletRequestreq,HttpServletResponseres)throwsServl

JSP保存文件后页面跳转问题
private   void   doDown(HttpServletRequest   req,   HttpServletResponse   res)   throws   ServletException,   IOException   {
                RequestDispatcher   rd   =   null;
                HSSFWorkbook   workBook   =   null;
                try{

                                workBook   =   writeToExcelSonotaMH(req,   list);
                                if   (workBook   ==   null)   {
                                        rd   =   req.getRequestDispatcher(SontaCommon.DOWNLOAD_JSP);
                                        rd.forward(req,   res);
                                }   else   {
                                        String   downloadFileName   =   Common.XLS;

                                        res.reset();
                                        res.setContentType( "application/x-msexcel;charset=Shift_JIS ");
                                        res.setHeader( "Content-Disposition ",   "attachment;   filename=\ " "
                                                                    +   CommonUtil.toUtf8String(downloadFileName)
                                                                    +   "\ " "
                                                                  );
                                        workBook.write(res.getOutputStream());

                    }  
                    rd   =   req.getRequestDispatcher(SontaCommon.DOWNLOAD_JSP);
                }catch   (Exception   ce)
                {
                }   finally
                {


                   
                    }
        }

当文件被保存或者是取消后,当前的DOWLOAD画面可以被跳转到其他的画面么,这么写跳不出去不知道为什么,谢谢各位大虾.

[解决办法]
中科院计算所培训中心!!可以帮你解决技术问题!!

如何打造java程序员的职场持久力 大型免费公开课!!
主讲教师:杨少波老师
中科院副研究员、副校长、北京交通大学硕士生导师、首席技术总监、
讲座时间:2007年7月7日 14:00—16:30
讲座地点:中关村958楼中科天博大厦
与会者可参加现场抽奖,精美礼品等你拿!!!
咨询电话:82661259
[解决办法]
第二个 rd = req.getRequestDispatcher(SontaCommon.DOWNLOAD_JSP);
后面是 不是少了个 rd.forward(req, res);
另外你workBook == null时侯可以转过去吗?如果不行抱啥错?
SontaCommon.DOWNLOAD_JSP 这个常量的路径写的对吗?
[解决办法]
用这个试一下 rd = req.getRequestDispatcher(SontaCommon.DOWNLOAD_JSP).forward(req, res);

[解决办法]
up
[解决办法]
把finally去掉,在catch里加上ce.printStackTrace()再看看
[解决办法]
在forward之前如果往缓冲区里写入了内容,只要该内容没有被真正的输出到客户端

遇到这个,一般可以用js来提出跳转功能。
跟asp里面的redirect一样的毛病
[解决办法]
再加一个线程?

[解决办法]
RequestDispatcher本身就跳不出去,可以用request.sendRedirect跳出去
[解决办法]
用request.sendRedirect的话,就算能跳转到第二页面页接不到相应的变量值。

你这段代码似乎写的不是地方,最好不要写在控制层,应该写在业务层,这样能避免一些不必要的麻烦。个人建议你把这段功能代码单独写成一个类放在业务层,留个接口就行,然后在ACTION类调用,这样可以避免控制层跳转发生错误的几率。

个人小小建议,没帮什么忙,所以不许给分。呵呵!
[解决办法]
上面有答案了

热点排行