struts2+json+jquery

本文详细介绍了如何使用Struts2、JSON和jQuery进行数据的存取操作,包括返回单个值、用户信息对象、列表对象和映射对象,并通过实例展示了具体实现方式。
利用struts2+json+jquery 实现数据的存取。

 所需jar包:

 

index.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">
<title>Struts2+JQuery+JSON</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/json.js"></script>
</head>
<body>
  <input id="getMessage" type="button" value="获取单个值"/>  
    <input id="getUserInfo" type="button" value="获取UserInfo对象"/>  
    <input id="getList" type="button" value="获取List对象"/>  
    <input id="getMap" type="button" value="获取Map对象"/>  
    <br>
    <br>
    <br>
    <!-- 要显示信息的层 -->
    <div id="message"></div>
    <form>
    	用户ID:<input name="userInfo.uid" type="text"/><br/>
    	用户名:<input name="userInfo.uname" type="text"/><br/>
    	年   纪:<input name="userInfo.age" type="text"/><br>
    	<input id="regRe" type="button" value="注册"/>
    </form>
</body>
</html>

 

js文件:json.js

package com.test.vo;

import java.io.Serializable;

public class UsersInfo implements Serializable {
 
 private static final long serialVersionUID = -4618501904271551291L;
 
 private int uid;
 private String uname;
 private int age;
 public int getUid() {
  return uid;
 }
 public void setUid(int uid) {
  this.uid = uid;
 }
 public String getUname() {
  return uname;
 }
 public void setUname(String uname) {
  this.uname = uname;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 

}

 

 

 

 


action类:

package com.test.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.test.vo.UsersInfo;
import com.opensymphony.xwork2.ActionSupport;

public class JsonStrutsJqueryAction extends ActionSupport {

	private static final long serialVersionUID = -4618501904271551291L;

	private UsersInfo userInfo; // 使用json返回对象

	private String messages; // 使用json返回单个值

	private List<UsersInfo> listUserInfo; // 使用json返回list对象

	private Map maps; // 使用json返回map对象

	public Map getMaps() {
		return maps;
	}

	public void setMaps(Map maps) {
		this.maps = maps;
	}

	public UsersInfo getUserInfo() {
		return userInfo;
	}

	public void setUserInfo(UsersInfo userInfo) {
		this.userInfo = userInfo;
	}

	public String getMessages() {
		return messages;
	}

	public void setMessages(String messages) {
		this.messages = messages;
	}

	public List<UsersInfo> getListUserInfo() {
		return listUserInfo;
	}

	public void setListUserInfo(List<UsersInfo> listUserInfo) {
		this.listUserInfo = listUserInfo;
	}

	/**
	 * <p>返回单个值</p>
	 * @return
	 * @throws Exception
	 */
	public String returnMessage() throws Exception
	{
		this.messages="成功返回单个值";
		
		return "message";
	}
	
	
	/**
	 * <p>返回用户信息对象</p>
	 * @return
	 * @throws Exception
	 */
	public String returnUsersInfo() throws Exception
	{
		
		userInfo=new UsersInfo();
		userInfo.setUid(55555);
		userInfo.setUname("MINISIDSC");
		userInfo.setAge(24);
		
		return "usersInfo";
	}
	
	
	
	/**
	 * <p>返回list对象</p>
	 * @return
	 * @throws Exception
	 */
	public String returnListUserInfo() throws Exception
	{
		
		listUserInfo=new ArrayList<UsersInfo>();
		UsersInfo u1=new UsersInfo();
		u1.setUid(8888);
		u1.setUname("MINISIDSC");
		u1.setAge(24);
		
		UsersInfo u2=new UsersInfo();
		u2.setUid(6666);
		u2.setUname("张三");
		u2.setAge(24);
		
		UsersInfo u3=new UsersInfo();
		u3.setUid(99999);
		u3.setUname("李四");
		u3.setAge(24);
		
		UsersInfo u4=new UsersInfo();
		u4.setUid(1111);
		u4.setUname("王麻子");
		u4.setAge(24);
		
		listUserInfo.add(u1);
		listUserInfo.add(u2);
		listUserInfo.add(u3);
		listUserInfo.add(u4);
		
		return "listUserInfo";
	}
	
	
	/**
	 * 返回map对象
	 * @return
	 * @throws Exception
	 */
	public String returnMaps() throws Exception
	{
		
		maps = new HashMap<String,UsersInfo>();
		UsersInfo u1=new UsersInfo();
		u1.setUid(8888);
		u1.setUname("MINISIDSC");
		u1.setAge(24);
		
		UsersInfo u2=new UsersInfo();
		u2.setUid(6666);
		u2.setUname("张三");
		u2.setAge(24);
		
		UsersInfo u3=new UsersInfo();
		u3.setUid(99999);
		u3.setUname("李四");
		u3.setAge(24);
		
		UsersInfo u4=new UsersInfo();
		u4.setUid(1111);
		u4.setUname("王麻子");
		u4.setAge(24);
		
		maps.put(u1.getUid()+"", u1);
		maps.put(u2.getUid()+"", u2);
		maps.put(u3.getUid()+"", u3);
		maps.put(u4.getUid()+"", u4);
		
		
		return "maps";
	}
	
	
	/**
	 * <p>
	 * 	获得对象,也就是通过表达获得对象(异步的)
	 * </P>
	 * @return
	 */
	public String gainUserInfo(){
		System.out.println("用户uid:"+userInfo.getUid());
		System.out.println("用户名:"+userInfo.getUname());
		System.out.println("年龄:"+userInfo.getAge());
		return "reg";
	}
	
}


struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="jsont" extends="json-default" namespace="/">
	<action name="jsonTest" class="com.huawei.action.JsonStrutsJqueryAction">
		    <!-- 返回单个值的result -->
    		<result name="message" type="json"></result>
    		<!-- 返回UserInfo对象的 -->
    		<result name="usersInfo" type="json"></result>
    		<!-- 返回List对象的 -->
    		<result name="listUserInfo" type="json"></result>
    		<!-- 返回Map对象的 -->
    		<result name="maps" type="json"></result>
    		<!-- 提交ajax数据 -->
    		<result name="reg" type="json"></result>
	</action>
</package>
</struts>

 

实体类:

package com.test.vo;

import java.io.Serializable;

public class UsersInfo implements Serializable {
 
 private static final long serialVersionUID = -4618501904271551291L;
 
 private int uid;
 private String uname;
 private int age;
 public int getUid() {
  return uid;
 }
 public void setUid(int uid) {
  this.uid = uid;
 }
 public String getUname() {
  return uname;
 }
 public void setUname(String uname) {
  this.uname = uname;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 

}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值