在struts 2中使用json ajax支持

来源:互联网 发布:ubuntu 创建用户组 编辑:程序博客网 时间:2024/05/17 07:02

  json插件提供了一种名为json的resulttype,一旦为某个action指定了一个类型为json的result,则该result无需映射到任何视图资源。因为json插件会负责将action里的状态信息序列化成json格式的数据,并将该数据返回给客户端页面的javascript。

  struts2提供了一种可插拔方式来管理插件,安装struts2的json插件与安装普通插件并没有太大的区别,一样只需要将struts2插件的jar文件复制到web应用的web-inf/lib路径下即可。

  (1)登陆http://code.google.com/p/jsonplugin/downloads/list站点,下载struts2的json插件的最新版本,当前最新版本是0.7,我们可以下载该版本的json插件。

  处理该请求的action类代码如下:    在上面代码中,使用了json注释,注释时指定了name域,name域指定action属性被序列化成json对象的属性名。除此之外,json注释还支持如下几个域:

  format:设置用于格式化输出、解析日期表单域的格式。例如"yyyy-mm-dd't'hh:mm:ss"。

  配置该action的struts.xml文件代码如下:   在上面配置文件中有两个值得注意的地方:

  第一个地方是配置struts.i18n.encoding常量时,不再是使用gbk编码,而是utf-8编码,这是因为ajax的post请求都是以utf-8的方式进行编码的。

  第二个地方是配置包时,自己的包继承了json-default包,而不再继承默认的default包,这是因为只有在该包下才有json类型的result。

  在上面配置文件中有两个值得注意的地方: