2014-11-24 26 views
0
BufferedHttpServletResponse bufferedHttpServletResponse = new BufferedHttpServletResponse(response); 
request.getRequestDispatcher(jspPage).forward(request, bufferedHttpServletResponse); 
String xmlData = bufferedHttpServletResponse.getData(); 

響應這是我在用隨modelAndViewanyChart組件需要在XML文件中的數據,應該是動態生成此文件,但它說的響應已經提交。我怎樣才能得到xml文件從JSP

+0

你使用普通的Servlets/JSP或Spring-MVC嗎?你如何生成你的XML? – flob 2014-11-24 12:46:12

回答

2

你可以使用一個Servlet,並直接打印出了答案:

public void service(ServletRequest request, ServletResponse response){ 
response.setContentType("text/xml;charset=UTF-8"); 
PrintWriter writer = response.getWriter(); 
writer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 
writer.append("<result>"); 
// print your result 
writer.append("</result>"); 

這不是從一個JSP中,但它看起來很像你已經是一個Servlet內。

如果您使用的是Spring Web MVC,您引用modelAndView的建議是什麼,您可能只想在控制器中使用方法,並在返回類型上使用@ResponseBody批註。

@RequestMapping(value = "/xmlresponse", method = RequestMethod.GET) 
public @ResponseBody ResultObjectWithJaxbAnnotations gernerateXmlResult() { 

不要忘了在你的Spring應用上下文<mvc:annotation-driven /> - 但你將有一個最有可能的了。