struts+jquery+json+ajax实例
今天折腾这个问题折腾了2个小时,觉得有必要总结一下。
1.交互原理
前台页面请求action --> 通过struts.xml解析到对应的action类 --> action通过jsonobject类(调用静态方法.fromObject)将对象(比如list,map等)转换成json格式 --> 讲JSON格式赋值给需要返回的变量 --> 前台会自动获取所有有get/set方法的属性。
2.实例讲解
<1>前台请求action(jquery+ajax):
$.ajax({
type: "post",
url: xxaction.action,
success: function(data, textStatus){
},
complete: function(XMLHttpRequest, textStatus){
//HideLoading();
},
error: function(error){
//请求出错处理
}
});
更多更详细的jquer ajax方法: http://www.cnblogs.com/qleelulu/archive/2008/04/21/1163021.html
<2>xml解析请求,需要配置struts.xml
<package name="jsonDemo" extends="json-default">
<action name="testAction" class="com.json.action.TestAction" method="testMethod">
<result type="json" /> <!--将action的bean属性以json字符串返回浏览器-->
</action>
</package>
更多更详细的配置struts2+json的方法:http://cqjava.iteye.com/blog/465495
<3>在action类中进行JSON格式转换
JSONObject jo = JSONObject.fromObject(list) //可以是map,list,等 result = jo.toString(); //所有需要返回给前台的属性都需要设置get/set方法
<4>最后,数据在前台的ajax成功返回
success: function(data, textStatus){
//data中包含了action类中所有有get方法的属性集合。
},
浙公网安备 33010602011771号