我在JSP页面写了一个按钮,点击这个按钮就会调用后台的Action把当前页面的内容都写进服务器硬盘的一个文件里。
现在能做到的是点击完按钮后再生成一个链接,指向写好的文件路径。再点这个链接才可以下载。
1.其实我最想实现的是直接点击按钮就能下载文件,不知道能不能实现。
2.如果写成txt文件,点击链接下载的时候,它就会在新页面打开,不弹出下载窗口,这个怎么解决。
3.一个规范化的问题,函数中的try{}是只包住需要抛出异常的那部分语句好,还是把主体语句全包住好呢。
谢谢各位

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【duodo】截止到2008-07-29 21:34:00的历史汇总数据(不包括此帖):
    发帖的总数量:7                        发帖的总分数:290                      每贴平均分数:41                       
    回帖的总数量:6                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:7                        结贴的总分数:290                      
    无满意结贴数:1                        无满意结贴分:100                      
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:14.29 %               无满意结分率:34.48 %                  
    敬礼!

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=duodo
      

  2.   

    把当前的页面内容转换为字节流 然后写入response的writer里面.
    比如说 页面内容 传到 servlet, 在java中转换成字节流 再写回response的writer里面.
      

  3.   

    response.addHeader("Content-Disposition", "attachment;filename="
    + filenamedisplay);然后
    RequestDispatcher dispatcher = application.getRequestDispatcher(fileURL);
    dispatcher.forward(request, response);这样就应该不会直接打开了
      

  4.   

    能再具体一些么,LS的这些东西是不是写在servlet里面的?
      

  5.   

    谢谢LS各位,自己解决了下。
    在Action里加这一句就可以了。response.addHeader("Content-Disposition","attachment;filename="+filename+"");
    return new ActionForward("/FILE/"+filename+"");