Struts2 之 <result type="stream"></result>
举例:
<!-- 产生随机校验码 -->
<action name="randNum" class="com.yboffice.ebsso.randomnum.RandomNumAction"
method="validNumGenerate">
<result name="success" type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action>
通过result的type=“stream”来处理。
参数说明:
contentType:指定文件类型,默认为text/plain即纯文本.(更多类型可查询tomcat安装目录下的conf目录的web.xml文件,例如
application/vnd.ms-excel:Excel下载;application/octet-stream:文件下载),此处用image/jpeg:得到验证码图片。
inputName:指定action中inputStream类型的属性名称,需要getter方法。
另有参数(例子未使用):
<param name=" contentDisposition">attachment;filename="${fileName}"</param>
<param name=" contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">4096</param>
contentDisposition:指定文件下载的处理方式,包括内联(inline)和附件(attachment)两种方式,而附件方式会弹出文件保存对话框,
否则浏览器会尝试直接显示文件。取值为:attachment;filename="${fileName}",表示文件下载的时候取名为通过EL表达式进行获取;如果只有
filename="${fileName}"如同inline;filename="${fileName}",浏览器会尝试在线打开它;如果未指定filename属性则以浏览器的页面名作为文件名。
bufferSize:
输出时缓冲区的大小
产生验证码的方法实现,需要的话可留意,这里不在赘余,网上也有很多。