2014-11-24 59 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 /> - 但你将有一个最有可能的了。