我想在struts Action结果中返回一个XML文件,我在网上搜索但是我没有找到它的相关信息。
我有一些静态数据需要作为XML文件返回,并且这些数据将使用AJAX进行处理。
任何人都可以帮助我吗?
答案 0 :(得分:0)
只需设置
response.setContentType("application/xml");
return yourXML;
您可以使用JAXB或XStream之类的东西从Java对象生成XML。然后使用场景1.以下是每个的教程链接:
答案 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";
}
}