struts2-json-plugin插件的使用
一、编写Action类
- /**
- * AjaxJsonAction.java
- * action
- * Function: TODO
- *
- * version date author
- * ──────────────────────────────────
- * 1.0 2013-9-21 songjy
- *
- * Copyright (c) 2013, TNT All Rights Reserved.
- */
- package action;
- import java.util.HashMap;
- import java.util.Map;
- import com.opensymphony.xwork2.ActionSupport;
- import entity.User;
- /**
- * ClassName:AjaxJsonAction
- *
- * @author songjy
- * @version 1.0
- * @since v1.0
- * @Date 2013-9-21 下午5:42:49
- */
- public class AjaxJsonAction extends ActionSupport {
- private static final long serialVersionUID = -2309225335616212699L;
- private static Map<Integer, User> users = new HashMap<Integer, User>();
- static {
- users.put(1, new User(1, "张三"));
- users.put(2, new User(2, "李四"));
- }
- public String json(){
- if(users.containsKey(id))
- user = users.get(id);
- else
- user = new User();
- return "json";
- }
- private int id;
- private User user;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- /*user设置了getXXX,json插件将User转为json*/
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- }
二、在struts.xml中配置Action类
- <!-- 必须继承json-default,可参阅struts2-json-plugin.jar包中struts-plugin.xml配置文件 -->
- <package name="ajax" extends="json-default">
- <action name="*" class="action.AjaxJsonAction" method="{1}">
- <result name="{1}" type="json"/><!-- type必须是json -->
- </action>
- </package>
三、编写jsp页面
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <script type="text/javascript" src="js/jquery-1.10.2.js"></script>
- <title>struts2-json-plugin示例</title>
- <script type="text/javascript">
- function load_user() {
- var id = encodeURIComponent($("#id").val());
- $.post("json.do", {
- id : id
- }).done(function(data) {
- alert(data.user.id + "," + data.user.name +"," +data.id);
- });
- }
- </script>
- </head>
- <body>
- id:
- <input name="id" type="text" id="id">
- <br />
- <input type="button" onclick="javascript:load_user();" value="获取用户信息" />
- </body>
- </html>
四、测试
浙公网安备 33010602011771号