您有不同的方式来实现这一点。
创建一个不同的结果类型,并将它们配置在Struts的xml文件中像
<result name="xls" type="stream">
<param name="inputName">fileStream</param>
<paramname="contentType">application/vnd.xls</param>
<param name="contentDisposition">filename="WOlist.xls"</param>
<param name="bufferSize">4096</param>
</result>
<result name="xlsx" type="stream">
<param name="inputName">fileStream</param>
<paramname="contentType">application/vnd.mexcel</param>
<param name="contentDisposition">filename="WOlist.xlsx"</param>
<param name="bufferSize">4096</param>
</result>
,你可以根据结果字符串多个结果类型配置它们从动作类返回 否则你可以设置流等参数在动作类中的值,并且可以使用动态值Sin你的结果配置像
<result name="success" type="stream">
<param name="inputName">${fileStream}</param>
<paramname="contentType">${contentType}</param>
<param name="contentDisposition">${filename}</param>
<param name="bufferSize">${bufferSize}</param>
</result>
,所有这些参数fileStream,contentType,filename,bufferSize
可以在里面行动设定基于用户输入的值,这会给你更多的灵活性。
请不要在你的帖子上签名。有关更多信息,请参阅http://stackoverflow.com/faq#signatures。 – Amy 2011-12-28 11:31:48