javascript中用jquery做ajax读取sturts2中action的返回信息案例

3 篇文章 0 订阅
3 篇文章 0 订阅
本文详细介绍了在JavaScript中利用jQuery AJAX从Struts2 Action获取JSON响应的步骤,包括所需的库文件、struts.xml配置、web.xml配置以及前端JSP页面的编写。通过这些步骤,开发者可以实现前后端数据的交互。
摘要由CSDN通过智能技术生成

json javascript中用jquery做ajax读取sturts2中action的返回信信息的步骤

1、引入包(本文中的包全部引自struts-2.1.8.1\lib)

struts2-json-plugin-2.1.8.1.jar

json-lib-2.1.jar

commons-collections-3.2.jar

commons-beanutils-1.7.0.jar

commons-lang-2.3.jar

commons-logging-1.0.4.jar

ezmorph-1.0.3.jar

7个包是返回json形式的数据必须的。因为json大量引用了Apache commons的包,所以要加入4个,commons包,除了commons的包外,还需要引入一个 ezmorph的包。最后加入struts2必须的6个包:

struts2-core-2.1.8.1.jar

xwork-core-2.1.6.jar

ognl-2.7.3.jar

freemarker-2.3.15.jar

commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

2、后台:

 

1) Userinfo实体类代码
public class UserInfo implements Serializable {   
    private int userId;  
    private String userName; 
    private String password; 
    get set方法略
}
2) Action类

 

public class TestAction extends ActionSupport {
    private String message;                //使用json返回单个值
    private UserInfo userInfo;              //使用json返回对象
    private List userInfosList;     //使用josn返回List对象
    get set方法略
   /*返回单个值*/   
   public String returnMsg(){   
        this.message = "成功返回单个值";  
        return SUCCESS; 
   }  
   /*返回UserInfo对象*/   
   public String returnUser(){ 
       userInfo = new UserInfo();
       userInfo.setUserId(10000);
       userInfo.setUserName("刘栋");
       userInfo.setPassword("123456");
       return SUCCESS; 
   } 
  /*返回List对象*/   
   public String returnList(){   
       userInfosList = new ArrayList<UserInfo>(); 
       UserInfo u1 = new UserInfo(); 
       u1.setUserId(10000);   
       u1.setUserName("张三"); 
       u1.setPassword("111111");
       UserInfo u2 = new UserInfo();
       u2.setUserId(10001);   
       u2.setUserName("李四");   
       u2.setPassword("222222"); 
       userInfosList.add(u1); 
       userInfosList.add(u2);  
       return SUCCESS;   
   }

 

3) struts.xml(必须继承json-default、json-default继承自struts-default)的编写

<package name="default" namespace="/json" extends="json-default"> 
<action name="returnMsg" class="com.testAction " method="returnMsg">   
<result  name="success" type="json">
	<param name="root">validate</param>
</result>   
</action> 
<action name="returnUser " 
class="com.testAction " method="returnUser">
<result  name="success" type="json">
<param name="includeProperties">
	userInfo\.userId,userInfo\.userName,userInfo\.password
</param>	
</result>   
</action>
<action name="returnList" class="com.testAction "
 method="returnList">   
<result  name="success" type="json">
<param name="includeProperties">
	userInfosList\[\d+\]\.userName,userInfosList\[\d+\]\.password
</param>
</result>   
</action>
</package>


 4)web.xml的编写

-<filter> 
<filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class>
 </filter> -
<filter-mapping>
<filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>


5)前段jsp的的编写

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags"  prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">

		<title>My JSP 'JsonTest.jsp' starting page</title>
	</head>  	
  </script>
	<script type="text/javascript" src="jquery-1.7.2.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){
			//通过选择器获得它的单机事件
			$("#json").click(function(){
				 var str="";
				//用getJson做ajax 返回一个json对象
	           $.getJSON("returnList.action", function(json){
		           //通过each方法迭代json对象信息 其中参数i表示下表 n表示对象
	        	   $.each(json.userInfosList, function(i, n){
	        		  str=str+n.userName+",";    		  
	        		 });        		
	            	str=str.substring(0,str.length-1);        	
	        	   $("#test").text(str);
	        		 //也可以通过下标直接输出
	             //alert("JSON Data: " + json.userInfosList[0].userName);
	            });		
			});
        });
  </script>
	<body>
		
		<input type="button" value="结合json返回集合对象"  id="json" />
		
		<div id="test">显示返回数据的</div>
		

		<s:debug>
		</s:debug>
	</body>
</html>

 

   更多链接>>http://s.click.taobao.com/t?e=zGU34CA7K%2BPkqB07S4%2FK0CFcRfH0GoT805sipKvKrFOHaXUl3KqVM8joCF2xukRXxDUGfrZhdDvBjquprSD8jw%2Ff9VHgGmLkQb4wcbsG3HtUkg%3D%3D

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值