java - 我如何获取 xml 文件作为 jsp 的响应

标签 java jsp servlets

BufferedHttpServletResponse bufferedHttpServletResponse = new BufferedHttpServletResponse(response);
request.getRequestDispatcher(jspPage).forward(request, bufferedHttpServletResponse);
String xmlData = bufferedHttpServletResponse.getData();

这就是我与 modelAndView 一起使用的 anyChart 组件需要 XML 文件中的数据,该文件应该动态生成,但它表示响应已提交。

最佳答案

您可以使用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 的引用表明,您可能只想在 Controller 中使用 @ResponseBody 的方法。返回类型上的注释。

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

别忘了<mvc:annotation-driven />在您的 Spring 应用程序上下文中 - 但您很可能已经拥有了。

关于java - 我如何获取 xml 文件作为 jsp 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27104045/

相关文章:

java - AWS Lambda连接到Internet

jsp - 在JSP中将枚举值作为标记属性传递

jsp - session 无法解析为通过 jsp 发送邮件的类型

java - 数据未保存在数据库中

java - JBoss 5.1 中的异步数据库更新

jsp - 传递给 JSP 的 Spring Model 去哪儿了?

web-applications - Servlet 或 POJO 降低 Web 应用程序

java - 从 WEB-INF 内的 JSP 访问文件

java - 捕获响应大小 - HttpServlet

java - Firefox在Struts应用程序中剪切名称中包含空格的文件