struts2 json-plugin 提供跨站访问支持

来源:互联网 发布:学生党淘宝店铺白菜价 编辑:程序博客网 时间:2024/05/29 18:41

要点:
action:
1. 继承json-default包.
2. result中type=”json”.
3. result中增加回调参数 params={“callbackParameter”,”callback”},callback应与请求参数名对应.

jquery:
1. 请求中包含callback=?,callback应与action的result中参数callbackParameter的值对应.

例子如下:

Action:  @ParentPackage("json-default")  public class AjaxAction extends ActionSupport{    @Autowired    private transient AjaxTemplateBusiness ajaxTemplateBusiness;    @Action(value="demo1",            results={                @Result(name="success",type="json",                        params={"callbackParameter","callback"}                       )                    }    )    public String demo1(){      json=JSONArray.fromObject(list).toString();      return SUCCESS;    }  }jquery:  $.getJSON("http://www.chenhaitao1981.com/demo1.action?callback=?", function(data){    if(data.json!=""){        var mydata=JSON.parse(data.json); // json2.js         var obj;         for(var i=0;i<mydata.length;i++){             obj=mydata[i];             alert(obj.text);         }        }   });

其它:
java.io.Serializable 序列化接口
transient:变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要序列化。

struts-json:
默认会把所有get方法序列号,如果不需要序列化,可使用@JSON(serialize=false),设定该方法不需要序列化。

0 0
原创粉丝点击