Struts 2:返回XML结果

时间:2014-06-09 11:31:43

标签: xml struts2

我想在struts Action结果中返回一个XML文件,我在网上搜索但是我没有找到它的相关信息。

我有一些静态数据需要作为XML文件返回,并且这些数据将使用AJAX进行处理。

任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:0)

1场景1:您已经拥有要返回的XML:

只需设置

response.setContentType("application/xml");
return yourXML;

2.场景2:您想将java对象转换为xml

您可以使用JAXB或XStream之类的东西从Java对象生成XML。然后使用场景1.以下是每个的教程链接:

XStream:http://x-stream.github.io//tutorial.html

JAXB:http://www.mkyong.com/java/jaxb-hello-world-example/

答案 1 :(得分:0)

您需要创建XML(使用XStream,JAXB或类似工具),然后将其分配给InputStream并返回映射到Stream Result的结果,指定相应的contentType(application/xml)和所需的文件名/ contentDisposition。

答案 2 :(得分:0)

在你的struts.xml

<action name="getXml" method="getMyXml" class="myActionClass">
  <result name="xml" type="stream">
    <param name="contentType">application/xml</param>
    <param name="inputName">xmlInputStream</param>
  </result>
</action>

在你的动作类中

class myActionClass{
  InputStream xmlInputStream;
  XmlClass xmlClass;
  public InputStream getXmlInputStream() {
    return this.xmlInputStream;
  }

  public String getMyXml() {
    this.inputStream = new ByteArrayInputStream(
        "<?xml version="1.0" encoding="UTF-8" ?><foo><bar>foobar</bar></foo>"
         .getBytes("UTF-8"));
    return "xml";
  }
}
相关问题