Struts2.2.3.1+Jquery1.8.2+AJAX
来源:互联网 发布:vba实时抓取网页数据 编辑:程序博客网 时间:2024/04/30 14:48
struts-2.2.3.1\lib下引入Json所需要的包:
json-lib-2.1-jdk15.jar
struts2-json-plugin-2.2.3.1.jar
commons-collections-3.1.jar
commons-beanutils-1.8.0.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
导入struts-2.2.3.1所需要的包
struts2-core-2.2.3.1.jar
xwork-core-2.2.3.1.jar
ognl-3.0.1.jar
freemarker-2.3.16.jar
WebRoot下建立js文件夹,存放jquery-1.8.2.js,Json2.js。
接下来就做三件事:
一、准备一个JSP页面用于提交ajax请求,这里使用JQuery的$.getJSON(url,params,function callback(data))函数提交ajax请求到指定url,并且携带参数params,最后用一个回调函数callback处理请求返回结果data;
二、一个处理请求的Action类,并在struts.xml文件中做相应配置:写一个action类处理ajax请求数据,并将返回结果封装成一个JSONObject对象返回给请求页面。同时在struts.xml中配置对应action,指明其返回类型为json并使其package的extends为json-default,并将要返回请求页面的数据放在名为root的param中,如<param name="root">result</param>。
三、接受请求返回结果:使用JS的eval方法将返回结果data转换成JSON对象,并处理返回结果。
先处理后台Java代码:
User类
public class User {private int id;private String name;public int getId() {return id;}public String getName() {return name;}public void setId(int id) {this.id = id;}public void setName(String name) {this.name = name;}
Action类:
public class UserAction extends ActionSupport {private List<User> list;private Map<Integer, User> map;private String message;private User user;public List<User> getList() {return list;}public Map<Integer, User> getMap() {return map;}public String getMessage() {return message;}public User getUser() {return user;}public String returnList() {list = new ArrayList<User>();for (int i = 1; i <= 3; i++) {User u = new User();u.setId(i);u.setName("user" + i);list.add(u);}System.out.println(list.size());return "list";}public String returnMap() {map = new HashMap<Integer, User>();for (int i = 1; i <= 5; i++) {User u = new User();u.setId(i);u.setName("user" + i);map.put(i, u);}System.out.println(map.size());return "map";}public String returnMsg() {this.message = "message";return "msg";}public String returnUser() {user = new User();user.setId(1);user.setName("user");return "user";}public String register(){ return "register"; }public void setList(List<User> list) {this.list = list;}public void setMap(Map<Integer, User> map) {this.map = map;}public void setMessage(String message) {this.message = message;}public void setUser(User user) {this.user = user;}}
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><constant name="struts.devMode" value="true" /><package name="user" namespace="/user" extends="json-default"><action name="user" class="com.chq.action.UserAction"><result name="msg" type="json"></result><result name="user" type="json"></result><result name="list" type="json"></result><result name="map" type="json"></result><result name="register" type="json"></result></action></package></struts>
前台JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><script type="text/javascript" src="js/jquery-1.8.2.js"></script><script type="text/javascript" src="js/json2.js"></script><script type="text/javascript">function test(){alert("OK");}function getMsg(){$.getJSON("user/user!returnMsg",function(data){$("#result").html("<font color='red'>"+data.message+"</font>"); }); } function getUser(){ $("#result").html(""); $.getJSON("user/user!returnUser",function(data){ $("#result").append("id:"+data.user.id+" ") .append("name:"+data.user.name); }); } function getList(){$("#result").html(""); $.getJSON("user/user!returnList",function(data){ //使用jQuery中的each(data,function(){});函数//从data.userInfosList获取UserInfo对象放入value之中$.each(data.list,function(i,value){ $("#result").append("<div><font color='red'>id:"+value.id+"</font></div>") .append("<div><font color='red'>name:"+value.name+"</font></div>"); }); }); } function getMap(){$("#result").html(""); $.getJSON("user/user!returnMap",function(data){ //key值为Map的键值$.each(data.map,function(key,value){ $("#result").append("<div><font color='red'>id:"+value.id+"</font></div>") .append("<div><font color='red'>name:"+value.name+"</font></div>");}); }); }function reg(){var params = $("form").serialize(); $.ajax({ url:"user/user!register",type:"POST",data:params,dataType:"json", success:function(data){ $("#result").html(""); $("#result").append("<div><font color='red'>id:"+data.user.id+"</font></div>") .append("<div><font color='red'>name:"+data.user.name+"</font></div>"); }});}</script></head><body><input id="getMessage" type="button" value="获取单个值" onclick="getMsg()" /> <input id="getUser" type="button" value="获取User对象" onclick="getUser()" /> <input id="getList" type="button" value="获取List对象" onclick="getList()" /> <input id="getMap" type="button" value="获取Map对象" onclick="getMap()" /> <form >用户ID:<input name="user.id" type="text" /><br />用户名:<input name="user.name" type="text" /><br /><input id="regRe" type="button" value="注册" onclick="reg()"/></form><!-- 显示结果 --><div id="result"></div></body></html>
- Struts2.2.3.1+Jquery1.8.2+AJAX
- jQuery1.1 API 中文版 第七部分Ajax
- struts2.1.8.1+jquery1.4.2返回json数据
- struts2.1.8.1+jquery1.4.2返回json数据
- struts2集成jquery1.4返回json实例
- JQuery1
- jQuery1
- jQuery1
- 解决jQuery1.1 Ajax请求时cache的问题(转)
- jquery1.8.2 在线中文手册
- jquery1.7有感(1)
- jquery1.3版本以上使用数组对struts2的兼容性问题
- jquery1.42 $.ajax Memory Leak 内存泄露问题
- jQuery1.2.6 好用的AJAX库,库+手册
- jQuery1.2.6 好用的AJAX库,库+手册
- Struts2 ajax
- struts2 + ajax
- struts2+ajax
- java.util.regex.PatternSyntaxException
- GCD介绍(三): Dispatch Sources
- spring aop示例
- delphi实现执勤表
- Linux+Fortran搭建整套科学计算和绘图环境
- Struts2.2.3.1+Jquery1.8.2+AJAX
- 视频标准制定者
- Dialog自定义!
- GCD介绍(四): 完结
- RotateAnimation 实现表盘指针转动
- matlab提速技巧
- 配置SqlServer同步时常见的错误以及解决方法
- Java最简单的单链表(高手勿进)
- 算法100题