WebWork下载的实现
WebWork下载文件时,首先在xwork.xml中添加以下内容:
- <action name="download" class="com.mycompany.action.FileDownloadAction">
- <result name="success" type="stream">
- <param name="contentType">application/octet-stream</param>
- <param name="inputName">inputStream</param>
- <param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
- <param name="bufferSize">4096</param>
- </result>
- </action>
- <action name="download" class="com.mycompany.action.FileDownloadAction">
- <result name="success" type="stream">
- <param name="contentType">application/octet-stream</param>
- <param name="inputName">inputStream</param>
- <param name="contentDisposition">attachment;filename="${downloadFileName}"</param>
- <param name="bufferSize">4096</param>
- </result>
- </action>
这时需要把fileName作为参数传过来,以下是action:
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.InputStream;
- import java.io.UnsupportedEncodingException;
- import com.opensymphony.xwork.Action;
- public class FileDownloadAction implements Action {
- private String fileName = "";
- public InputStream getInputStream () throws Exception {
- InputStream is = null;
- try {
- is = new FileInputStream(fileName);
- } catch (FileNotFoundException e1) {
- }
- return is;
- }
- public String execute () throws Exception {
- return SUCCESS;
- }
- public void setFileName (String fileName) {
- this.fileName = fileName;
- }
- public String getFileName () {
- return fileName;
- }
- public String getDownloadFileName () {
- String downFileName = fileName;
- try {
- downFileName = new String(downFileName.getBytes(), "utf8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return downFileName;
- }
- }
至此就完成了WebWork下载。
【编辑推荐】
- WebWork如何实现文件上传配置过程
- Tapestry 5输入验证的实现方法
- JSP开发框架JSF对比基于Servlet的Tapestry
- Tapestry 5组件事件详解
- Tapestry5的性能改进浅析
版权声明:
作者:后浪云
链接:https://www.idc.net/help/413343/
文章版权归作者所有,未经允许请勿转载。
THE END