Struts2 回到 XML
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情况
关于本例的几点说明:
1.Struts2的请求后缀设定为*.test
2.在Struts2官方文档中只介绍了使用xsl模板返回XML,本例使用XSLT result,但是没有使用XSL模板文件
3.本例*有四个Action 分别为:mainAction,mainAction_1,mainAction_2,mainAction_3,其中第一个没有指定“exposedValue”参数;其它三个分别显示了指定不同数据类型和多种数据类型时的返回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情况
1 楼
xiquwgugou
2007-12-18
非常感谢您的分享!@
2 楼
xiquwgugou
2007-12-18
我下载下来之后发现mainAction_1,mainAction_2,mainAction_3
不存在啊
不存在啊
3 楼
hanyoud
2007-12-18
xiquwgugou 写道
我下载下来之后发现mainAction_1,mainAction_2,mainAction_3
不存在啊
有的 在src 目录下的 struts.xml 里面配置的不存在啊
4 楼
尔今尔后
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情况
----------------------------
你是不是发错了...你那里写着完整的 可是我发布以后就一个..页面可以显示
我现在需要 一个二级联动的例子 ....希望你吧代码传完整 谢谢...
5 楼
praguesky
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;
真不爽.... 有知道的给回个...
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;
}
这样,才可以安心的返回,这个用户的系统和浏览器的语言相关的。
public String methodOne() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
return SUCCESS;
}
这样,才可以安心的返回,这个用户的系统和浏览器的语言相关的。