首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

Struts2 回到 XML

2012-10-28 
Struts2 返回 XML这几天因业务需要 做一个二级联动的下拉列表, Option内容较多且不固定。于是想用AJAX去数

Struts2 返回 XML
  这几天因业务需要 做一个二级联动的下拉列表, Option内容较多且不固定。于是想用AJAX去数据库取,生成动态Option内容,以XML格式返回,页面用JS解析处理。
  但是项目用的是Struts2,又不想用Servlet,于是上网找Struts2返回XML的方法,有幸在某国外Blog的找到一篇此类文章,经本人亲自测试成功,现贴出与广大博友分享。
  郁闷一:JavaEye的用密码是怎么管理的 我每次登陆都要找回一次密码,找回后的第一件事是将密码改为132456789,是不是密码不充许设为简单数字,但是也没提示。
  郁闷二:XML代码贴出后没法看,这次也不贴了,附件中有完整打包源代码,也可做为Struts2入门Demo,经测试在Struts2.0.8和Struts2.0.11下均可正常运行,只需替换相应的jar包。

  关于本例的几点说明:
  1.Struts2的请求后缀设定为*.test
  2.在Struts2官方文档中只介绍了使用xsl模板返回XML,本例使用XSLT result,但是没有使用XSL模板文件
  3.本例中共有四个Action 分别为:mainAction,mainAction_1,mainAction_2,mainAction_3,其中第一个没有指定“exposedValue”参数;其它三个分别显示了指定不同数据类型和多种数据类型时的返回XML情况

PrintWriter pw = null; HttpServletResponse response = ServletActionContext.getResponse(); //取response对象 response.setContentType("text/xml;charset=utf-8"); response.setHeader("Cache-Control","no-cache"); pw = response.getWriter(); pw.print("<root>"); pw.print("<msg>sssss</msg>"); pw.print("</root>"); pw.close(); pw = null; return null;


真不爽.... 有知道的给回个... 6 楼 wxclover 2008-03-02   <result type="freeMarker">option.ftl</reslut>
可以很简单的实现啊
7 楼 xxrrss 2008-11-19   此代码实现还是会出现乱码问题,在返回时还需要设置如下:
public String methodOne() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
        return SUCCESS;
}
这样,才可以安心的返回,这个用户的系统和浏览器的语言相关的。

热点排行