下载struts2生成的HTML
我想知道是否有办法使用正常的结果类型从Struts2操作(处理jsp后的最终HTML)下载生成的HTML。我不想显示de页面,而是下载它 我所尝试的:下载struts2生成的HTML,struts2,download,return-type,Struts2,Download,Return Type,我想知道是否有办法使用正常的结果类型从Struts2操作(处理jsp后的最终HTML)下载生成的HTML。我不想显示de页面,而是下载它 我所尝试的: <result name="success" type="stream"> <param name="location">/jsp/dummy.jsp</param> <param name="contentType">application/text</param>
<result name="success" type="stream">
<param name="location">/jsp/dummy.jsp</param>
<param name="contentType">application/text</param>
<param name="contentDisposition">attachment; filename="page.html"</param>
</result>
把它放到输入流中,因为我有一些编码问题。
任何想法都将受到赞赏。
谢谢大家。我不知道这是否或如何实现 我能告诉你的是:
- 此处不存在任何
参数:它来自其他结果类型(DispatchResult、FreeMarker等),而不是来自。很好的尝试,但我很确定Struts2结果类型中没有任何现成的适合您的需求位置
- 您不能使用
功能,因为它对最终结果有效,但在渲染之前,然后完全跳出拦截器 我的2美分: 如果您想进行调试,而不是以编程方式,那么真正的问题是您不能使用拦截器的PreResultListener
查看源代码
浏览器的功能,因为结果已经被浏览器解析“污染”,那么您可以尝试使用(未经测试,这只是一个想法,我从未使用过它),要获取JSP的原始内容,请最终设置
,然后使用适当的编辑器(Eclipse、Notepad++等)读取原始JSP字符集
- 此处不存在任何
参数:它来自其他结果类型(DispatchResult、FreeMarker等),而不是来自。很好的尝试,但我很确定Struts2结果类型中没有任何现成的适合您的需求位置
- 您不能使用
功能,因为它对最终结果有效,但在渲染之前,然后完全跳出拦截器 我的2美分: 如果您想进行调试,而不是以编程方式,那么真正的问题是您不能使用拦截器的PreResultListener
查看源代码
浏览器的功能,因为结果已经被浏览器解析“污染”,那么您可以尝试使用(未经测试,这只是一个想法,我从未使用过它),要获取JSP的原始内容,请最终设置
,然后使用适当的编辑器(Eclipse、Notepad++等)读取原始JSP字符集
ServletResponseAware
,并添加了行response.setHeader(“内容处置”、“附件;文件名=“+bean+”.jsp”)代码>以避免修改jsp。struts.xml仍然很简单/jsp/page.jsp
非常感谢大家的帮助@chad@DaveNewtonNo short。出于好奇,为什么要将头配置保留在jsp之外?我使用jsp进行显示和下载,因此我有两个不同的操作调用同一个jsp。因此,为了避免向jsp添加逻辑,我只修改了其中一个操作。我知道,我知道,我很混乱,但是看到我的其他问题,你就会知道我在做一般的事情。好吧,最后我在操作中实现了ServletResponseAware
,并添加了一行
response.setHeader(“内容”)-
UrlReader.read("generateHTMLAction")