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

要点:
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),设定该方法不需要序列化。

你可能感兴趣的:(js)