focusChen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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方法的属性集合。

 },

 

 

 

 

 

 

 

posted on 2012-03-19 23:30  飘来荡去。  阅读(1904)  评论(0)    收藏  举报