在jsp / java中,如何调用输出xml文件的页面并将其结果(xml类型)保存到服务器上的xml文件中。这两个文件(生成xml的文件和我们要保存/覆盖的文件)都存在于同一台服务器上。
基本上我想立即更新 test.xml ,方法是调用输出xml类型结果的 generate.jsp 。
谢谢。
答案 0 :(得分:2)
HttpServletResponse
个对象,扩展原始的HttpServletResponse
,并返回您的自定义OutputStream
和PrintWriter
,而不是原始的。{/ li >
OutputStream
和PrintWriter
会调用原始OutputStream
和PrintWriter
,但也会写入您的文件(使用新的FileOutputStream
)答案 1 :(得分:2)
如果请求是幂等的,那么只需使用java.net.URL
来获取JSP输出的InputStream。 E.g。
InputStream input = new URL("http://example.com/context/page.jsp").openStream();
如果请求不是幂等的,那么您需要使用自定义实现替换响应的PrintWriter
,该实现将输出复制到某个缓冲区/构建器中。我之前在这里发布了一个代码示例:Capture generated dynamic content at server side
一旦输出,只需将通常的java.io
方式写入磁盘,假设JSP已经是XHTML格式。
答案 2 :(得分:1)
为什么不使用像FreeMarker这样的真实模板引擎?那会更容易。