Struts2+Jquery+Json集成

1.新建web项目,引入相关jar包。包括struts2核心包、commons相关包、Json相关包(这些jar包都可以在struts2的lib文件夹中找到)

  Struts2+Jquery+Json集成

2.引入jquery-1.8.2.min.js

3.在web.xml中配置struts2的"核心控制器"

 1 <!-- 配置struts2的核心控制器 -->

 2     <filter>

 3         <filter-name>struts2</filter-name>

 4         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

 5     </filter>

 6 

 7     <filter-mapping>

 8         <filter-name>struts2</filter-name>

 9         <url-pattern>/*</url-pattern>

10     </filter-mapping>

3.ajax请求页面(index.jsp):

 1 <head>

 2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

 3 <title>Insert title here</title>

 4 <!-- 引入jquery.js文件 -->

 5 <script type="text/javascript" src="js/jquery-1.8.2.min.js" charset="utf-8"></script>

 6 <script type="text/javascript">

 7     function btn(){

 8         $('#btn').bind('click', function(){

 9             $.ajax({

10                 type:'post',

11                 url:'json_executeAjax.action',

12                 data:{

13                     name : $('#userName').val()

14                 },

15                 dataType:'json',

16                 success:function(data){

17                     console.info(data);

18                 },

19                 error:function(){

20                     alert('系统异常,请联系管理员');

21                 }

22             });        

23         });

24     }

25     //加载完毕,调用函数

26     $(document).ready(function(){

27         btn();

28     });    

29     

30 </script>

31 

32 </head>

33 <body>

34     <input type="text" name="userName" id="userName"/>

35     <input type="button" value="ajax请求" id="btn"/>

36 </body>

4.action:

 1 package com.xyy.action;

 2 

 3 import java.util.HashMap;

 4 import java.util.Map;

 5 import net.sf.json.JSONObject;

 6 import com.opensymphony.xwork2.Action;

 7 

 8 public class JsonAction {

 9     

10     private String name;

11     //存储返回结果,并在struts.xml中配置

12     private String result;

13 

14     public String getResult() {

15         return result;

16     }

17 

18     public void setResult(String result) {

19         this.result = result;

20     }

21 

22     public String getName() {

23         return name;

24     }

25 

26     public void setName(String name) {

27         this.name = name;

28     }

29     

30     public String executeAjax(){

31         Map<String, Object> map = new HashMap<String, Object>();

32         map.put("name", name);

33         //将Map转换成json对象

34         JSONObject json =  JSONObject.fromObject(map);

35         result = json.toString();

36         return Action.SUCCESS;

37     }

38     

39 }

5.在struts.xml中配置action:

 1 <struts>

 2     <package name="struts2" extends="struts-default,json-default">

 3         <action name="json_*" class="com.xyy.action.JsonAction" method="{1}">

 4             <!-- 返回类型为Json,需要继承json-default,name默认是success -->

 5             <result type="json">

 6             

 7                  <!-- root的值对应要返回的值的属性 -->  

 8                 <!-- 这里的result值即是 对应action中的 result -->  

 9                 <param name="root">result</param>

10                 

11             </result>

12         </action>

13     </package>

14 </struts>

你可能感兴趣的:(struts2)