Struts2 下载问题
情况是这样的,我写了一个下载文件的struts2程序,页面用struts2的标签生成下载链接,点击链接后,就爆出Cannotfindajava.io.InputStrea...
情况是这样的,我写了一个下载文件的struts2程序,页面用struts2的标签生成下载链接,点击链接后,就爆出Can not find a java.io.InputStream with the name [inputStream] in the invocation stack. Check the <param name="inputName"> tag specified for this action.错误,我通过百度搜索,找不到相关的解决方法。望高手能指点一下,谢谢。
标签我已经检查了,<param name="inputName">inputStream</param>这个没有问题,我尝试将名称大小写变换也无法解决。
action里面我写了相应的输入流方法,方法如下:
private InputStream getInputStream() throws Exception{
return ServletActionContext.getServletContext().getResourceAsStream(downpath);
}
execute方法只是返回成功字符串,里面没有任何的逻辑。 展开
标签我已经检查了,<param name="inputName">inputStream</param>这个没有问题,我尝试将名称大小写变换也无法解决。
action里面我写了相应的输入流方法,方法如下:
private InputStream getInputStream() throws Exception{
return ServletActionContext.getServletContext().getResourceAsStream(downpath);
}
execute方法只是返回成功字符串,里面没有任何的逻辑。 展开
3个回答
展开全部
这个返回的错误信息不准确,容易让人产生误解,我之前也遇到过,你可以检查一下你struts.xml里面的配置,我的配置是这样的,希望可以帮到你!
<result name=”success" type="stream">
<param name="cotentType">application/vnd.ms-excel</param>
<param name="inputName">downloadStream</param>
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">4096</param>
</result>
特别是那个contentType和contentDisposition这两个参数,要注意这个contentDisposition参数的值是filename="${fileName}"哦!
<result name=”success" type="stream">
<param name="cotentType">application/vnd.ms-excel</param>
<param name="inputName">downloadStream</param>
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">4096</param>
</result>
特别是那个contentType和contentDisposition这两个参数,要注意这个contentDisposition参数的值是filename="${fileName}"哦!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询