Struts 2 用XSLT输出XML响应
来源:互联网 发布:linux uuidgen 编辑:程序博客网 时间:2024/05/18 20:50
1. Action其实是一个POJO,所以我们可以直接把Action生成一个XML.只要把Result Type设为xslt就可以了:
<action name="XmlModel" class="cpu.XmlModelAction">
<result name="success" type="xslt" />
</action>
里面包含了Action的所有属性,还有Locale等信息. 可以在浏览器里输入http://localhost:8080/XXX/XXX/XmlModel.action来看.
2. 为了定制自己想要的XML,我们可以输入参数来输出自己想要的Action的某个属性(属性可以是一个List).
<action name="XmlModel" class="cpu.XmlModelAction">
<result name="success" type="xslt">
<param name=”exposedValue”>modelList</param>
</result>
</action>
3. 如果有多于一个属性呢.加个大括号围起来
<action name="XmlModel" class="cpu.XmlModelAction">
<result name="success" type="xslt">
<param name=”exposedValue”>{modelList, type}</param>
</result>
</action>
4. 以上三个方法都是由Action 来控制生成格式.那么对于我们这种控制欲很强的人来说并不满足,最好是由我们自己来定义生成样子.那么这时我们就要做的就是在属性里生成一个org.w3c.dom.Document属性.注意:不要用org.dom4j.Document类.要不会出现转化错误,死得很惨.
<action name="XmlModel" class="cpu.XmlModelAction">
<result name="success" type="xslt">
<param name="exposedValue">xmlDoc</param>
</result>
</action>
上面的xmlDoc就是 Action里的org.w3c.dom.Document类型.
5. 我只会用并且非要用org.dom4j.Document类怎么办? 那就在最后转化成 org.w3c.dom.Document:
Action里加上一句: xmlDoc = Xmlutil.XmlString2W3cDom(dom4jDoc.asXML());
上面的xmlDoc就是 Action里的org.w3c.dom.Document类型.
6. 上面写一个类很烦,有没有更简单的方法? 还真有.这就用到了Java里interface的强大之处了.用org.dom4j.dom.DOMDocumentFactory()来建立Document.而不要用DocumentHelper.createDocument()来产生.最后直接cast一下.
其中三句代码是为了防止生成中文乱码
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
- Struts 2 用XSLT输出XML响应
- 用XSLT 和 XML改进Struts
- Jsp结合XML XSLT输出
- 用XSLT输出内容
- 用XSLT输出内容
- 用xslt转化XMl
- Jsp结合XML+XSLT将输出转换为Html格式2
- xslt+xml
- xml & xslt
- XML+XSLT
- XML XSLT
- Jsp结合XML+XSLT将输出转换为Html格式
- Jsp结合XML+XSLT将输出转换为Html格式
- Jsp结合XML+XSLT将输出转换为Html格式
- JSP结合XML+XSLT将输出转换HTML
- Jsp结合XML+XSLT将输出转换为Html格式
- JSP结合XML+XSLT将输出转换HTML
- JSP结合XML+XSLT将输出转换HTML
- 97 Things Every Programmer Should Know
- Hibernate学习笔记:使用native sql查询
- 网格式大型分布式数据库中间件(Cluster Killer)
- 全新的自己
- 简介:google ctemplate:简单易用的文字模板
- Struts 2 用XSLT输出XML响应
- [荐] [顶] 【妙语连猪】2009经典流行话窜窜烧—(结局篇):“喜欢你没道理”
- Tool comand language for ADSP-BF561
- 墨菲定律 二八法则 马太效应 手表定理等
- 抽象类和接口的区别
- MYSQL常用命令集
- 国内外监控服务
- 我的C++实践(10):智能指针
- [转] 网络术语大全