struts2 下载记录

最近做解析Excel进行批处理功能,需要将处理的结果生成PDF文件供下载。遇到了struts2的下载,所以记录下来。
首先,是struts2的配置文件,如下:
代码片一:

代码片二:

代码片三:

其中,代码片一是任意名的方法,但方法名和配置文件中的method相同,返回结果要和配置文件中的result的name搭对。如果配置中不写method,则是默认execute方法
配置文件中其他项是:
1.contentType 一般情况为application/octet-stream;即可。
2.contentDisposition 配置结果为attachment;filename="${downloadFileName}",这是下载后文件名,可以自定义写死,如:报告。pdf;也可以是动态获取,注意这里如有中文,需要进行特殊处理。downloadFileName,Action中必须有个方法叫getDownloadFileName(),否则不会成功
3.inputStream 获取的是流,一般会取名inputStream ,Action中则有个方法叫getInputStream()对应,返回的结果也为InputStream
4.bufferSize 缓冲区大小
常见错误:java.lang.IllegalArgumentException: Can not find a java.io.InputStream with the name [targetFile] in the invocation
stack. Check the tag specified for this action.
原因:inputstream为null,可能路径有问题。
处理办法:确认文件路径,断点调试。

上文为自己开发中的记录,如有问题或错误,请大家指正。
原文地址:https://www.cnblogs.com/Kevin-1992/p/12608449.html