[Java] Struts2 中的action 小注意
sunshineparasol
2010-01-21
action 里面的方法名字慎用 get 开头,如果使用get开头的话,在返回数据(json)的时候,有可能会运行所有的get开头的方法!
|
|
yhailj
2010-01-22
在 get 方法前加注解: @JSON(serialize = false) 不串行化,
默认是 true, 所以会将所有的 get 属性都返回 或者 : 在返回的参数中使用 root 参数 <result type="json"> <!-- root 属性名不可变, 可以去看 JSONResult 类源码 --> <param name="root">json</param> </result> 在 Action 类中: private String json; public String getJson(){return json;} public void setJson(String json){this.json = json;} public String XXX() { // 自己构建 json 格式 json = "{\"city\":\"Beijing\",\"postcode\":100001}"; return "success"; } JavaScript: function callback(data){ // 转换成 json 格式 var da = eval("(" + data + ")"); alert(da.city + da. postcode); } |
|
sunshineparasol
2010-01-22
yhailj 写道 在 get 方法前加注解: @JSON(serialize = false) 不串行化,
默认是 true, 所以会将所有的 get 属性都返回 或者 : 在返回的参数中使用 root 参数 <result type="json"> <!-- root 属性名不可变, 可以去看 JSONResult 类源码 --> <param name="root">json</param> </result> 在 Action 类中: private String json; public String getJson(){return json;} public void setJson(String json){this.json = json;} public String XXX() { // 自己构建 json 格式 json = "{\"city\":\"Beijing\",\"postcode\":100001}"; return "success"; } JavaScript: function callback(data){ // 转换成 json 格式 var json = eval("(" + data + ")"); alert(json.city + json. postcode); } 与 root 参数相对的是 excludeProperties 参数, 这是一个 list(就是以 , 隔开) 受教了,谢谢!!Javaeye还是牛人比较多啊 |
|
litianyi520
2010-02-23
json还是自己组装的好,不要依赖action
|
|
tx_it
2011-05-05
引用 [img][/img]
|
|
tx_it
2011-05-05
[b][/b][i][/i][u][/u]
引用
|