struts2-json-plugin插件的使用

一、编写Action类

Java代码  收藏代码
  1. /** 
  2.  * AjaxJsonAction.java 
  3.  * action 
  4.  * Function: TODO  
  5.  * 
  6.  *   version    date      author 
  7.  * ────────────────────────────────── 
  8.  *      1.0  2013-9-21    songjy 
  9.  * 
  10.  * Copyright (c) 2013, TNT All Rights Reserved. 
  11. */  
  12.   
  13. package action;  
  14.   
  15. import java.util.HashMap;  
  16. import java.util.Map;  
  17.   
  18. import com.opensymphony.xwork2.ActionSupport;  
  19.   
  20. import entity.User;  
  21.   
  22. /** 
  23.  * ClassName:AjaxJsonAction 
  24.  * 
  25.  * @author   songjy 
  26.  * @version  1.0 
  27.  * @since    v1.0 
  28.  * @Date     2013-9-21  下午5:42:49 
  29.  */  
  30.   
  31. public class AjaxJsonAction extends ActionSupport {  
  32.   
  33.     private static final long serialVersionUID = -2309225335616212699L;  
  34.       
  35.     private static Map<Integer, User> users = new HashMap<Integer, User>();  
  36.       
  37.     static {  
  38.         users.put(1, new User(1, "张三"));  
  39.         users.put(2, new User(2, "李四"));  
  40.     }  
  41.   
  42.     public String json(){  
  43.           
  44.         if(users.containsKey(id))  
  45.             user = users.get(id);  
  46.         else  
  47.             user = new User();  
  48.           
  49.         return "json";  
  50.     }  
  51.       
  52.     private int id;  
  53.     private User user;  
  54.       
  55.     public int getId() {  
  56.         return id;  
  57.     }  
  58.       
  59.     public void setId(int id) {  
  60.         this.id = id;  
  61.     }  
  62.       
  63.     /*user设置了getXXX,json插件将User转为json*/  
  64.     public User getUser() {  
  65.         return user;  
  66.     }  
  67.       
  68.     public void setUser(User user) {  
  69.         this.user = user;  
  70.     }  
  71. }  

二、在struts.xml中配置Action类

Xml代码  收藏代码
  1. <!-- 必须继承json-default,可参阅struts2-json-plugin.jar包中struts-plugin.xml配置文件 -->  
  2.     <package name="ajax" extends="json-default">  
  3.         <action name="*" class="action.AjaxJsonAction" method="{1}">  
  4.             <result name="{1}" type="json"/><!-- type必须是json -->  
  5.         </action>  
  6.     </package>  

三、编写jsp页面

Html代码  收藏代码
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5. <head>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <script type="text/javascript" src="js/jquery-1.10.2.js"></script>  
  8. <title>struts2-json-plugin示例</title>  
  9. <script type="text/javascript">  
  10.     function load_user() {  
  11.   
  12.         var id = encodeURIComponent($("#id").val());  
  13.   
  14.         $.post("json.do", {  
  15.             id : id  
  16.         }).done(function(data) {  
  17.             alert(data.user.id + "," + data.user.name +"," +data.id);  
  18.         });  
  19.   
  20.     }  
  21. </script>  
  22. </head>  
  23. <body>  
  24.     id:  
  25.     <input name="id" type="text" id="id">  
  26.     <br />  
  27.     <input type="button" onclick="javascript:load_user();" value="获取用户信息" />  
  28. </body>  
  29. </html>  

四、测试

posted on 2015-10-31 11:57  SOHOJOYCE  阅读(112)  评论(0)    收藏  举报

导航