Struts2+JQuery+Json

来源:互联网 发布:淘宝不能提交订单了 编辑:程序博客网 时间:2024/06/03 19:51

结合使用jQuery和Json的操作上来说很方便;

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 getXXXprivate 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>

显示结果





 


原创粉丝点击