日期:2014-05-16  浏览次数:20314 次

Struts2.1.6(2.1.8)和Ajax jsion 配置(jQuery的Ajax访问)

一、struts2.1.6配置

1,需要把jsonplugin-0.33.jar,json-lib-2.1.jar拷贝到Web-INF/lib目录下.
?? 关于这个JAR包是JSON在struts2.1.6插件包.里面有我们要用到的struts-plugin.xml,关于这个JAR包,经过本人的测试和网上的搜索,得出最新的0.7版本在cglib方面存在着问题,建议大家使用0.33版本.
2,在struts2.1.6的配置文件中进行配置,就是返回的类型是json,并且要为JSON数据单独创建一个Package,继承的包不再是struts-default,而是json-default

 <package name="friend" namespace="/" extends="json-default">
       <action name="updateUserBasicInf" class="com.dio.blog.action.FriendUserAction" method="updateUserBasicInf">
			 <result name="success" type="json" >
	        	<param name="includeProperties">  
			        result
		        </param>  
		        <param name="noCache">true</param>  
		        <param name="ignoreHierarchy">false</param> 
        	</result>
		</action>
   </package>



前台jQuery的Ajax方式访问代码:

	$.ajax({
		url : 'updateUserBasicInf',
		type: "POST",
		data : 'friendUser.nickName='+nickName,		         //dataType : "json",
		cache : false,
		error : function(textStatus, errorThrown) {
			alert("系统ajax交互错误: " + textStatus);
		},
		success : function(data) {
			if(data.result==1){
			      $.messager.alert('修改结果','修改成功!');
					}else{
				 $.messager.alert('修改结果','修该失败!');
					}
		}
	});
		
		} 

?

二、struts2.1.8配置

???? 2.1.8配置和2.1.6配置差不多只不过加的包不一样,2.1.8只需加入json-lib-2.1,struts2-json-plugin-2.1.8.1两个包,相当于这个jsonplugin-0.33.jar,被struts的这个struts2-json-plugin-2.1.8.1代替了。