读书人

struts2 文件上载配置

发布时间: 2012-10-23 12:12:22 作者: rapoo

struts2 文件下载配置

有些应用我们要下载文件,而不是直接在浏览器中打开,我们在STURTS2中的配置方式是:

    public?class?FileDownloadAction?implements?Action?{ ????????private?String?inputPath; ??????public?void?setInputPath(String?value)?{ ??????????inputPath?=?value; ??????} ????//在这里的这个getInputStream中的inputStream是和配置文件中的inputName名字对应,这样STRUTS2就能根据配置文件中的文件去找到该文件流,注意,如果是提供文件下载,该文件必须是放在你的系统项目的某个文件夹中。????public?InputStream?getInputStream()?throws?Exception?{ ??????????return?ServletActionContext.getServletContext().getResourceAsStream(inputPath); ??????} ????????public?String?execute()?throws?Exception?{ ??????????return?SUCCESS; ??????} ??}??

配置文件:

    <?xml?version="1.0"?encoding="UTF-8"?> ????<!DOCTYPE?struts?PUBLIC ??????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"??????"http://struts.apache.org/dtds/struts-2.0.dtd"> ????<struts> ??????<package?name="filedownload"?extends="struts-default"?namespace="/filedownload"> ????????????<default-action-ref?name="download"/> ????????????<action?name="download"?class="org.apache.struts2.showcase.filedownload.FileDownloadAction"> ??<!--个人认为param是从ValueStack里取值,但不知道能否在配置文件里往ValueStack设值?--!> ??????????????<param?name="inputPath">/images/struts.gif</param> ??????????????<result?name="success"?type="stream"> ??????????????????<param?name="contentType">image/gif</param> ??????????????????<param?name="inputName">inputStream</param> ??????????????????<param?name="contentDisposition">filename="struts.gif"</param> ??????????????????<param?name="bufferSize">4096</param> ??????????????</result> ??????????</action> ????????????<action?name="download2"?class="org.apache.struts2.showcase.filedownload.FileDownloadAction"> ??????????????<param?name="inputPath">/images/struts-gif.zip</param> ??????????????<result?name="success"?type="stream"> ??????????????????<param?name="contentType">application/zip</param> ??????????????????<param?name="inputName">inputStream</param> ??????????????????<param?name="contentDisposition">filename="struts-gif.zip"</param>??//在这里还可以配置一个attachment;比如attachment;?filename="struts-gif.zip这样浏览器就不会直接打开该文件,而是提供下载的方式。????????????????<param?name="bufferSize">4096</param> ??????????????</result> ??????????</action> ????????</package> ??</struts>??

读书人网 >编程

热点推荐