论坛首页 Java企业应用论坛

Struts2 返回 XML

浏览 11626 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-12-17  
  这几天因业务需要 做一个二级联动的下拉列表, 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情况

  • struts2.rar (3.5 MB)
  • 描述: 本例完整项目包
  • 下载次数: 4482
   发表时间:2007-12-18  
非常感谢您的分享!@
0 请登录后投票
   发表时间:2007-12-18  
我下载下来之后发现mainAction_1,mainAction_2,mainAction_3
不存在啊
0 请登录后投票
   发表时间:2007-12-18  
xiquwgugou 写道
我下载下来之后发现mainAction_1,mainAction_2,mainAction_3
不存在啊
有的 在src 目录下的 struts.xml 里面配置的
0 请登录后投票
   发表时间:2008-02-01  
hanyoud 写道

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




----------------------------------------------------------------
你是不是发错了...你那里写着完整的  可是我发布以后就一个..页面可以显示

我现在需要 一个二级联动的例子 ....希望你吧代码传完整 谢谢...
0 请登录后投票
   发表时间:2008-02-17  
有问题没成功 问题和官方的showcase例子一样 返回个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;



真不爽.... 有知道的给回个...
0 请登录后投票
   发表时间:2008-03-02  
<result type="freeMarker">option.ftl</reslut>
可以很简单的实现啊
0 请登录后投票
   发表时间: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;
}
这样,才可以安心的返回,这个用户的系统和浏览器的语言相关的。
1 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics