BufferedHttpServletResponse bufferedHttpServletResponse = new BufferedHttpServletResponse(response);
request.getRequestDispatcher(jspPage).forward(request, bufferedHttpServletResponse);
String xmlData = bufferedHttpServletResponse.getData();
我正在使用modelAndView
我的anyChart
组件需要XML文件中的数据,此文件应该动态生成,但它表示响应已经提交。
答案 0 :(得分: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 />
- 但你最有可能已经这样做了。