Struts2+JQuery+Json

结合使用jQueryJson的操作上来说很方便;

1.方便前台数据的操作。

2.数据体积小,传输快。

3.客户端操纵XML的时候需要创建ActiveX对象,Json则完全就是一个js对象,它不需要创建DOM。


JSP页面

<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="js/all.js"></script>
</head>

<body>
	<!-- 要显示信息的层 -->
	<div id="show"></div>
	<input id="message" type="button" value="获取单个值" />
	<input id="user" type="button" value="获取User对象" />
	<input id="list" type="button" value="获取List对象" />
	<input id="map" type="button" value="获取Map对象" />
</body>
</html>

JS脚本

$(function(){
	//message
	$("#message").click(function(){
		$.getJSON("myx!exeMessage",function(data){
			$("#show").html(data.message).css("color","red");
		});
	});
	
	//user
	$("#user").click(function(){
		$.getJSON("myx!exeUser",function(data){
			$("#show").html(data.user.name+"="+data.user.pass).css("color","red");
		});
	});
	
	
	//list
	$("#list").click(function(){
		$.getJSON("myx!exeList",function(data){
			var htmls="";
			//遍历数据
			$.each(data.lists,function(i,u){
				htmls+=u.name+"="+u.pass+"<p/>";  //累计数据
			});
			//显示数据
			$("#show").html(htmls).css("color","red");
		});
	});
	
	
	//map
	$("#map").click(function(){
		$.getJSON("myx!exeMap",function(data){
			var htmls="";
			//遍历数据
			$.each(data.maps,function(i,u){
				htmls+=u.name+"="+u.pass+"<p/>";  //累计数据
			});
			//显示数据
			$("#show").html(htmls).css("color","red");
		});
	});
	
});
Action

package com.hlx.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.hlx.entity.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class MyAjaxAction extends ActionSupport {

	// setXXX and getXXX
	private String message; // 使用json返回单个值
	private List<User> lists; // 使用josn返回List对象
	private Map<String, User> maps; // 使用json返回Map对象
	private User user; // 使用json返回对象

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}

	public List<User> getLists() {
		return lists;
	}

	public void setLists(List<User> lists) {
		this.lists = lists;
	}

	public Map<String, User> getMaps() {
		return maps;
	}

	public void setMaps(Map<String, User> maps) {
		this.maps = maps;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String exeMessage() throws Exception {
		this.message = "祝福";
		return "message";
	}

	public String exeUser() throws Exception {
		this.user = new User("qq", "12323");
		return "user";
	}

	public String exeList() throws Exception {
		lists = new ArrayList<User>();
		lists.add(new User("aaa", "000"));
		lists.add(new User("ccc", "222"));
		lists.add(new User("ddd", "444"));
		return "list";
	}

	public String exeMap() throws Exception {
		maps = new HashMap<String, User>();
		maps.put("u1", new User("菲菲", "000"));
		maps.put("u2", new User("肥肥", "111"));
		maps.put("u3", new User("妞妞", "222"));
		return "map";
	}
}

struts2.xml文件

<package name="myxx" namespace="/" extends="json-default">
		<action name="myx" class="com.hlx.action.MyAjaxAction">
			<result name="message" type="json"></result>   <!-- 返回单个值的result -->  
			<result name="user" type="json"></result>  <!-- 返回一个对象 -->  
			<result name="list" type="json"></result>  <!-- 返回集合list -->  
			<result name="map" type="json"></result>  <!-- 返回集合map -->  
		</action>
	</package>

显示结果





 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值