Struts2输出XML格式的Result
扩展Struts2--自定义String和XML格式的Result
struts2虽然继承了webwork优秀的MVC分离,可是有很多地方让人百思不得其解!最让人离谱的是,返回的结果集中居然没有
String,xml这两种非常常用的类型。还是自己动手,丰衣足食:
第一种方式:使用“PlainText Result”
先看官方文档对plain text结果的定义:“A result that send the content out as
plain text. Usefull typically when needed to display the raw content of
a JSP or Html file for example.”这是一个纯扯蛋的说法。。。貌似感觉只能返回jsp页面似的,最起码他误导了我。
其实使用“PlainText Result” ,返回的结果是未进行格式和编码定义的字符串
。
什么意思?就类似于“FreeMarker Result”
,返回一个*.ftl格式的模板,你完全可以在*.ftl写string,那么结果就是string;也可以在里面写xml,那么结果就是xml。
举例如下:
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<
struts
>
<
package
name
=
"example"
namespace
=
"/example"
extends
=
"struts-default"
>
<
action
name
=
"outputXml"
method
=
"outxml"
class
=
"example.OutputXml"
>
<
result
name
=
"xmlMessage"
type
=
"plaintext"
>
</
result
>
</
action
>
相关文档:
已知有一个XML文件(bookstore.xml)如下:
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price> ......
string file = "c:\\work.xml";
private void btnCearte_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
  ......
/// <summary>
/// 收到的XML转成dataset型
/// </summary>
/// <param name="xmlData"></param>
/// ......
一XML 解析器
大多数浏览器都有读取和操作 XML 的内建 XML 解析器。
解析器把 XML 转换为 JavaScript 可访问的对象。
解析 XML
所有现代浏览器都有读取和操作 XML 的内建 XML 解析器。
解析器把 XML 载入内存,然后把它转换为可通过 JavaScript 访问的 XML DOM 对象。
您将在本教程的下一节中学习更多有关 XML DOM 的 ......