- 浏览: 1735427 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (337)
- javaScript校验 (11)
- java (31)
- java连接数据库 (1)
- js应用 (41)
- JQuery (15)
- linux操作命令 (12)
- loadrunner测试 (5)
- tomcat (18)
- 数据库 (12)
- eclipse (7)
- 触发器 (7)
- 表单 (3)
- ibatis (6)
- oracle (4)
- xml (1)
- Exception (6)
- spring (16)
- struts (4)
- struts 标签 (2)
- sql (8)
- sql server (6)
- 其它 (18)
- Apache (2)
- 电脑故障 (4)
- java 线程 (1)
- dwr (8)
- jackey (18)
- 总结 (34)
- gcc linux (2)
- extjs 学习 (5)
- 网站建设 (4)
- 健康 (2)
- 房地产知识 (1)
- hibernate (3)
- mysql (7)
- linux (13)
- svn (1)
最新评论
-
阳光泛滥的日子:
很好用谢谢
java.net.URISyntaxException的解决办法 -
linjianqing:
现在有更好的处理方式吗?我正也为这发愁
applet访问打印机出现的问题 -
ruyi574812039:
非常感谢您的总结!想问几个问题!假设三个项目分别以静态部署的三 ...
在Tomcat中部署Web程序的几种方式 -
yangguo:
太j8麻烦了
Spring3.1中使用缓存注解及Shiro的缓存联合 -
bellawang:
很好用谢谢
java.net.URISyntaxException的解决办法
Struts2+JQuery+JSON实现异步交互,包括从后台获得单个值、对象、List和Map数据并从前台的表达中获取值把值进行序列化通过JQuery的$.ajax({})传到后台和后台的对象进行绑定。
第一步:在MyEclipse中创建JavaWeb工厂并把Struts2 和 json的jar包添加到工程中添加完成后的工程图是:
第二步:创建后台:
1. UserInfo实体类:
- package struts2jsonjquery.test.entity;
- import java.io.Serializable;
- /**
- * <p>
- * 用户实体类
- * </p>
- * @author 朱延伟
- *
- */
- public class UserInfo implements Serializable {
- private static final long serialVersionUID = 3952189513312630860L;
- private int userId;
- private String userName;
- private String password;
- public int getUserId() {
- return userId;
- }
- public void setUserId(int userId) {
- this.userId = userId;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- }
package struts2jsonjquery.test.entity; import java.io.Serializable; /** * <p> * 用户实体类 * </p> * @author 朱延伟 * */ public class UserInfo implements Serializable { private static final long serialVersionUID = 3952189513312630860L; private int userId; private String userName; private String password; public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
2. Action类
- package struts2jsonjquery.test.action;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import struts2jsonjquery.test.entity.UserInfo;
- import com.opensymphony.xwork2.ActionSupport;
- public class JsonJqueryStruts2Action extends ActionSupport {
- private static final long serialVersionUID = 3518833679938898354L;
- private String message; //使用json返回单个值
- private UserInfo userInfo; //使用json返回对象
- private List<UserInfo> userInfosList; //使用josn返回List对象
- private Map<String,UserInfo> userInfosMap; //使用json返回Map对象
- //为上面的的属性提供get,Set方法
- public String getMessage() {
- return message;
- }
- public void setMessage(String message) {
- this.message = message;
- }
- public UserInfo getUserInfo() {
- return userInfo;
- }
- public void setUserInfo(UserInfo userInfo) {
- this.userInfo = userInfo;
- }
- public List<UserInfo> getUserInfosList() {
- return userInfosList;
- }
- public void setUserInfosList(List<UserInfo> userInfosList) {
- this.userInfosList = userInfosList;
- }
- public Map<String, UserInfo> getUserInfosMap() {
- return userInfosMap;
- }
- public void setUserInfosMap(Map<String, UserInfo> userInfosMap) {
- this.userInfosMap = userInfosMap;
- }
- /**
- * <p>
- * 返回单个值
- * <p>
- * @return
- */
- public String returnMessage(){
- this.message = "成功返回单个值";
- return "message";
- }
- /**
- * <p>
- * 返回UserInfo对象
- * </p>
- * @return
- */
- public String returnUserInfo(){
- userInfo = new UserInfo();
- userInfo.setUserId(10000);
- userInfo.setUserName("张三");
- userInfo.setPassword("000000");
- return "userInfo";
- }
- /**
- * <p>
- * 返回List对象
- * </p>
- * @return
- */
- public String returnList(){
- userInfosList = new ArrayList<UserInfo>();
- UserInfo u1 = new UserInfo();
- u1.setUserId(10000);
- u1.setUserName("张三");
- u1.setPassword("000000");
- UserInfo u2 = new UserInfo();
- u2.setUserId(10001);
- u2.setUserName("李四");
- u2.setPassword("111111");
- UserInfo u3 = new UserInfo();
- u3.setUserId(10002);
- u3.setUserName("王五");
- u3.setPassword("222222");
- UserInfo u4 = new UserInfo();
- u4.setUserId(10003);
- u4.setUserName("赵六");
- u4.setPassword("333333");
- userInfosList.add(u1);
- userInfosList.add(u2);
- userInfosList.add(u3);
- userInfosList.add(u4);
- return "list";
- }
- /**
- * <p>
- * 返回Map对象
- * </p>
- * @return
- */
- public String returnMap(){
- userInfosMap = new HashMap<String,UserInfo>();
- UserInfo u1 = new UserInfo();
- u1.setUserId(10000);
- u1.setUserName("张三");
- u1.setPassword("000000");
- UserInfo u2 = new UserInfo();
- u2.setUserId(10001);
- u2.setUserName("李四");
- u2.setPassword("111111");
- UserInfo u3 = new UserInfo();
- u3.setUserId(10002);
- u3.setUserName("王五");
- u3.setPassword("222222");
- UserInfo u4 = new UserInfo();
- u4.setUserId(10003);
- u4.setUserName("赵六");
- u4.setPassword("333333");
- userInfosMap.put(u1.getUserId()+"", u1);
- userInfosMap.put(u2.getUserId()+"", u2);
- userInfosMap.put(u3.getUserId()+"", u3);
- userInfosMap.put(u4.getUserId()+"", u4);
- return "map";
- }
- /**
- * <p>
- * 获得对象,也就是通过表达获得对象(异步的)
- * </P>
- * @return
- */
- public String gainUserInfo(){
- System.out.println("用户ID:"+userInfo.getUserId());
- System.out.println("用户名:"+userInfo.getUserName());
- System.out.println("密码:"+userInfo.getPassword());
- return "userInfo";
- }
- /**
- * 获得单个值就不用写了和平常一样
- */
- }
package struts2jsonjquery.test.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import struts2jsonjquery.test.entity.UserInfo; import com.opensymphony.xwork2.ActionSupport; public class JsonJqueryStruts2Action extends ActionSupport { private static final long serialVersionUID = 3518833679938898354L; private String message; //使用json返回单个值 private UserInfo userInfo; //使用json返回对象 private List<UserInfo> userInfosList; //使用josn返回List对象 private Map<String,UserInfo> userInfosMap; //使用json返回Map对象 //为上面的的属性提供get,Set方法 public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public UserInfo getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } public List<UserInfo> getUserInfosList() { return userInfosList; } public void setUserInfosList(List<UserInfo> userInfosList) { this.userInfosList = userInfosList; } public Map<String, UserInfo> getUserInfosMap() { return userInfosMap; } public void setUserInfosMap(Map<String, UserInfo> userInfosMap) { this.userInfosMap = userInfosMap; } /** * <p> * 返回单个值 * <p> * @return */ public String returnMessage(){ this.message = "成功返回单个值"; return "message"; } /** * <p> * 返回UserInfo对象 * </p> * @return */ public String returnUserInfo(){ userInfo = new UserInfo(); userInfo.setUserId(10000); userInfo.setUserName("张三"); userInfo.setPassword("000000"); return "userInfo"; } /** * <p> * 返回List对象 * </p> * @return */ public String returnList(){ userInfosList = new ArrayList<UserInfo>(); UserInfo u1 = new UserInfo(); u1.setUserId(10000); u1.setUserName("张三"); u1.setPassword("000000"); UserInfo u2 = new UserInfo(); u2.setUserId(10001); u2.setUserName("李四"); u2.setPassword("111111"); UserInfo u3 = new UserInfo(); u3.setUserId(10002); u3.setUserName("王五"); u3.setPassword("222222"); UserInfo u4 = new UserInfo(); u4.setUserId(10003); u4.setUserName("赵六"); u4.setPassword("333333"); userInfosList.add(u1); userInfosList.add(u2); userInfosList.add(u3); userInfosList.add(u4); return "list"; } /** * <p> * 返回Map对象 * </p> * @return */ public String returnMap(){ userInfosMap = new HashMap<String,UserInfo>(); UserInfo u1 = new UserInfo(); u1.setUserId(10000); u1.setUserName("张三"); u1.setPassword("000000"); UserInfo u2 = new UserInfo(); u2.setUserId(10001); u2.setUserName("李四"); u2.setPassword("111111"); UserInfo u3 = new UserInfo(); u3.setUserId(10002); u3.setUserName("王五"); u3.setPassword("222222"); UserInfo u4 = new UserInfo(); u4.setUserId(10003); u4.setUserName("赵六"); u4.setPassword("333333"); userInfosMap.put(u1.getUserId()+"", u1); userInfosMap.put(u2.getUserId()+"", u2); userInfosMap.put(u3.getUserId()+"", u3); userInfosMap.put(u4.getUserId()+"", u4); return "map"; } /** * <p> * 获得对象,也就是通过表达获得对象(异步的) * </P> * @return */ public String gainUserInfo(){ System.out.println("用户ID:"+userInfo.getUserId()); System.out.println("用户名:"+userInfo.getUserName()); System.out.println("密码:"+userInfo.getPassword()); return "userInfo"; } /** * 获得单个值就不用写了和平常一样 */ }
3. 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="default" namespace="/" extends="json-default">
- <action name="jsontest" class="struts2jsonjquery.test.action.JsonJqueryStruts2Action">
- <!-- 返回单个值的result -->
- <result name="message" type="json"></result>
- <!-- 返回UserInfo对象的 -->
- <result name="userInfo" type="json"></result>
- <!-- 返回List对象的 -->
- <result name="list" type="json"></result>
- <!-- 返回Map对象的 -->
- <result name="map" type="json"></result>
- </action>
- </package>
- </struts>
<?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="default" namespace="/" extends="json-default"> <action name="jsontest" class="struts2jsonjquery.test.action.JsonJqueryStruts2Action"> <!-- 返回单个值的result --> <result name="message" type="json"></result> <!-- 返回UserInfo对象的 --> <result name="userInfo" type="json"></result> <!-- 返回List对象的 --> <result name="list" type="json"></result> <!-- 返回Map对象的 --> <result name="map" type="json"></result> </action> </package> </struts>
前台:
1. index.jsp
- <%@ page language="java" pageEncoding="GBK"%>
- <%
- String path = request.getContextPath();
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>Struts2+JQuery+JSON</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <script type="text/javascript" src="<%=path %>/js/jquery.js"></script>
- <script type="text/javascript" src="<%=path %>/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.userId" type="text"/><br/>
- 用户名:<input name="userInfo.userName" type="text"/><br/>
- 密 码:<input name="userInfo.password" type="text"/><br>
- <input id="regRe" type="button" value="注册"/>
- </form>
- </body>
- </html>
<%@ page language="java" pageEncoding="GBK"%> <% String path = request.getContextPath(); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Struts2+JQuery+JSON</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript" src="<%=path %>/js/jquery.js"></script> <script type="text/javascript" src="<%=path %>/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.userId" type="text"/><br/> 用户名:<input name="userInfo.userName" type="text"/><br/> 密 码:<input name="userInfo.password" type="text"/><br> <input id="regRe" type="button" value="注册"/> </form> </body> </html>
2. json.js
- //初始加载页面时
- $(document).ready(function(){
- //为获取单个值的按钮注册鼠标单击事件
- $("#getMessage").click(function(){
- $.getJSON("jsontest!returnMessage.action",function(data){
- //通过.操作符可以从data.message中获得Action中message的值
- $("#message").html("<font color='red'>"+data.message+"</font>");
- });
- });
- //为获取UserInfo对象按钮添加鼠标单击事件
- $("#getUserInfo").click(function(){
- $.getJSON("jsontest!returnUserInfo.action",function(data){
- //清空显示层中的数据
- $("#message").html("");
- //为显示层添加获取到的数据
- //获取对象的数据用data.userInfo.属性
- $("#message").append("<div><font color='red'>用户ID:"+data.userInfo.userId+"</font></div>")
- .append("<div><font color='red'>用户名:"+data.userInfo.userName+"</font></div>")
- .append("<div><font color='red'>密码:"+data.userInfo.password+"</font></div>")
- });
- });
- //为获取List对象按钮添加鼠标单击事件
- $("#getList").click(function(){
- $.getJSON("jsontest!returnList.action",function(data){
- //清空显示层中的数据
- $("#message").html("");
- //使用jQuery中的each(data,function(){});函数
- //从data.userInfosList获取UserInfo对象放入value之中
- $.each(data.userInfosList,function(i,value){
- $("#message").append("<div>第"+(i+1)+"个用户:</div>")
- .append("<div><font color='red'>用户ID:"+value.userId+"</font></div>")
- .append("<div><font color='red'>用户名:"+value.userName+"</font></div>")
- .append("<div><font color='red'>密码:"+value.password+"</font></div>");
- });
- });
- });
- //为获取Map对象按钮添加鼠标单击事件
- $("#getMap").click(function(){
- $.getJSON("jsontest!returnMap.action",function(data){
- //清空显示层中的数据
- $("#message").html("");
- //使用jQuery中的each(data,function(){});函数
- //从data.userInfosList获取UserInfo对象放入value之中
- //key值为Map的键值
- $.each(data.userInfosMap,function(key,value){
- $("#message").append("<div><font color='red'>用户ID:"+value.userId+"</font></div>")
- .append("<div><font color='red'>用户名:"+value.userName+"</font></div>")
- .append("<div><font color='red'>密码:"+value.password+"</font></div>");
- });
- });
- });
- //向服务器发送表达数据
- $("#regRe").click(function(){
- //把表单的数据进行序列化
- var params = $("form").serialize();
- //使用jQuery中的$.ajax({});Ajax方法
- $.ajax({
- url:"jsontest!gainUserInfo.action",
- type:"POST",
- data:params,
- dataType:"json",
- success:function(data){
- //清空显示层中的数据
- $("#message").html("");
- //为显示层添加获取到的数据
- //获取对象的数据用data.userInfo.属性
- $("#message").append("<div><font color='red'>用户ID:"+data.userInfo.userId+"</font></div>")
- .append("<div><font color='red'>用户名:"+data.userInfo.userName+"</font></div>")
- .append("<div><font color='red'>密码:"+data.userInfo.password+"</font></div>")
- }
- });
- });
- });
//初始加载页面时 $(document).ready(function(){ //为获取单个值的按钮注册鼠标单击事件 $("#getMessage").click(function(){ $.getJSON("jsontest!returnMessage.action",function(data){ //通过.操作符可以从data.message中获得Action中message的值 $("#message").html("<font color='red'>"+data.message+"</font>"); }); }); //为获取UserInfo对象按钮添加鼠标单击事件 $("#getUserInfo").click(function(){ $.getJSON("jsontest!returnUserInfo.action",function(data){ //清空显示层中的数据 $("#message").html(""); //为显示层添加获取到的数据 //获取对象的数据用data.userInfo.属性 $("#message").append("<div><font color='red'>用户ID:"+data.userInfo.userId+"</font></div>") .append("<div><font color='red'>用户名:"+data.userInfo.userName+"</font></div>") .append("<div><font color='red'>密码:"+data.userInfo.password+"</font></div>") }); }); //为获取List对象按钮添加鼠标单击事件 $("#getList").click(function(){ $.getJSON("jsontest!returnList.action",function(data){ //清空显示层中的数据 $("#message").html(""); //使用jQuery中的each(data,function(){});函数 //从data.userInfosList获取UserInfo对象放入value之中 $.each(data.userInfosList,function(i,value){ $("#message").append("<div>第"+(i+1)+"个用户:</div>") .append("<div><font color='red'>用户ID:"+value.userId+"</font></div>") .append("<div><font color='red'>用户名:"+value.userName+"</font></div>") .append("<div><font color='red'>密码:"+value.password+"</font></div>"); }); }); }); //为获取Map对象按钮添加鼠标单击事件 $("#getMap").click(function(){ $.getJSON("jsontest!returnMap.action",function(data){ //清空显示层中的数据 $("#message").html(""); //使用jQuery中的each(data,function(){});函数 //从data.userInfosList获取UserInfo对象放入value之中 //key值为Map的键值 $.each(data.userInfosMap,function(key,value){ $("#message").append("<div><font color='red'>用户ID:"+value.userId+"</font></div>") .append("<div><font color='red'>用户名:"+value.userName+"</font></div>") .append("<div><font color='red'>密码:"+value.password+"</font></div>"); }); }); }); //向服务器发送表达数据 $("#regRe").click(function(){ //把表单的数据进行序列化 var params = $("form").serialize(); //使用jQuery中的$.ajax({});Ajax方法 $.ajax({ url:"jsontest!gainUserInfo.action", type:"POST", data:params, dataType:"json", success:function(data){ //清空显示层中的数据 $("#message").html(""); //为显示层添加获取到的数据 //获取对象的数据用data.userInfo.属性 $("#message").append("<div><font color='red'>用户ID:"+data.userInfo.userId+"</font></div>") .append("<div><font color='red'>用户名:"+data.userInfo.userName+"</font></div>") .append("<div><font color='red'>密码:"+data.userInfo.password+"</font></div>") } }); }); });
注意:JSON插件会把所有包含getter方法的属性都序列化到返回结果中,所以Action中的其他execute方法都不要把名
字加get前缀。
可以下载工程文件
- Struts2JQueryJson.rar (3.7 MB)
- 下载次数: 4833
评论
26 楼
wnczwl369
2013-05-20
,good job!
25 楼
mukehua
2013-05-09
24 楼
ge立海
2013-04-08
如果想要传回的是字符串同时还有对象或者对象列表呢?
情景是这样的,比如一个用户登录,希望用ajax方式登录,通过action得到相关的登录message,同时如果判定登录成功得到一个list的对象比如说是courses,用于登录后的下一个页面进行显示。
这样要怎么实现呢
情景是这样的,比如一个用户登录,希望用ajax方式登录,通过action得到相关的登录message,同时如果判定登录成功得到一个list的对象比如说是courses,用于登录后的下一个页面进行显示。
这样要怎么实现呢
23 楼
dingruzheng
2013-03-21
太感谢楼主了,正好要用呢,简洁明了,看了一目了然,谢谢。
22 楼
liujianwen2012
2012-12-22
跟楼主学习了,谢谢。
21 楼
海漂大侠
2012-08-14
感谢,这个帖子对我帮助很大。
20 楼
fmwind
2012-08-06
19 楼
Dick.D
2012-08-06
谢谢~~
18 楼
zeyonq
2012-06-27
要命的资料,非常感谢。
17 楼
xq30397022
2012-04-18
写的真是好,太全了,感谢楼主!
16 楼
thurchin
2012-04-01
写的不错,支持
15 楼
kingsmalltwo
2012-03-07
感谢!!!已测试成功!!!
14 楼
415421979
2012-03-05
非常感谢!!!!
13 楼
aa331730417
2012-02-23
虽然还没仔细看,但找了好久,这个最靠谱了,能用!我在研究一下,楼主辛苦了,好东西呀
12 楼
whoshaofeng
2012-01-05
谢谢,尊敬你严谨的精神。
11 楼
jay61439476
2011-12-25
今天跟着LZ的例子学习了下 受益匪浅
请教个问题, 使用
$.ajax({
url:"jsontest!gainUserInfo.action",
和
$.getJSON("jsontest!returnMap.action",function(data){
有什么区别吗?
我模仿LZ的实例使用 $.ajax({
url:"jsontest!gainUserInfo.action", 成功返回了
但是使用 $.getJSON("jsontest!returnMap.action",function(data){
返回一个list的时候在前台一直没有解析到数据…………
还有就是我的action不知道为什么总是会执行两次…… 一直没发现原因
请教个问题, 使用
$.ajax({
url:"jsontest!gainUserInfo.action",
和
$.getJSON("jsontest!returnMap.action",function(data){
有什么区别吗?
我模仿LZ的实例使用 $.ajax({
url:"jsontest!gainUserInfo.action", 成功返回了
但是使用 $.getJSON("jsontest!returnMap.action",function(data){
返回一个list的时候在前台一直没有解析到数据…………
还有就是我的action不知道为什么总是会执行两次…… 一直没发现原因
10 楼
devcang
2011-12-02
参考一下,分开的会,组合的还没独立搞过
9 楼
wangyj0898
2011-11-28
很不错的文章,很有帮助。。。
8 楼
cyk0653
2011-11-03
感谢
7 楼
zzxstudynumber
2011-08-10
为什么我的json.js文件放在其他文件夹里就不行,路径肯定没错的!
发表评论
-
JSON技术实战
2010-06-08 10:50 2523JSON作为一种信息的载体伴随着AJAX的红火也越来越得到广大 ... -
jquery的几种ajax方式对比
2010-06-07 17:55 5204jquery的ajax方式有如下几种: 1. $.post ... -
jQuery.ajax使用方法
2010-06-07 14:48 3965jQuery.ajax( options ) 参数: ... -
Jpage分页+Hibernate+Ajax+jquery+JSON通用技术<二>
2010-06-07 13:38 32506.为使界面美观使用JQu ... -
Jpage分页+Hibernate+Ajax+jquery+JSON通用技术<一>
2010-06-07 13:36 3663首先: 1.工具类page: package com.c ... -
JSON与JAVA数据的转换
2010-06-07 11:27 1759JSON与JAVA数据的转换 JSON-li ... -
struts2,jquery,ajax实现无刷新登录
2010-06-04 16:50 89771. action: /*** 会员登录*/public S ... -
struts2 jquery json进行ajax请求
2010-06-04 13:59 2788第一步:创建 名为"ajax" 的 Jav ... -
Javascript弹出子窗口
2010-05-26 13:47 46281、Javascript弹出子窗口 可以通过多种方式实现,下 ... -
使用java的native2ascii工具命令来转换编码gbk,gb2312,utf-8
2010-05-25 10:58 2425做struts国际化时遇到的问题,中文需要全部用ascii码来 ... -
jackey 常用资源网址总结
2010-05-21 16:43 10561. http://www.jspcn.net/moreNew ... -
Tomcat 6.0,Resin 3.1.6 配置JNDI数据库连接池
2010-05-17 17:26 43612.1.1 Tomcat数据库连接池配置---连接S ... -
图片提交按钮与表单重复提交_jackey
2010-03-26 15:42 3368很多情况下为了美化 ... -
网站建设资源网址
2009-09-27 17:57 1315中国建站网http://mb.136z.com/ 网域高科h ... -
超详细的SQL语句语法
2009-09-17 13:41 2533比较常用的SQL语句语法( ... -
java如何遍历map的所有的元素(各种方法)
2009-08-02 12:04 48072JDK1.4中 Map map = new HashMap() ... -
.jquery 迭代 select 的option 选项
2009-01-09 13:52 4551.jquery 迭代 select 的option 选项 ...
相关推荐
Struts2作为MVC框架,主要用于处理后端业务逻辑,而jQuery则是一个强大的JavaScript库,简化了前端DOM操作、事件处理以及AJAX交互。在这个“Struts2+jQuery实现局部刷新”的主题中,我们将探讨如何利用这两者的优势...
总结来说,这个例子展示了如何利用Struts2处理后端业务逻辑,使用JSON作为数据交换格式,以及通过jQuery在前端实现动态更新和与服务器的异步通信。了解和掌握这三个工具的整合使用,对于提升Web开发效率和用户体验...
这个压缩包中的资源,"SSH+jQuery+json 实现的Ajax操作,绝对精华,代码简练清晰,绝对能看明白",显然提供了一个使用这些技术实现Ajax级联操作的实例。下面将详细介绍这些技术及其在Ajax操作中的应用。 **SSH ...
Struts2和jQuery是Web开发中的两个重要框架,它们结合使用可以实现许多强大的功能,其中包括异步文件上传。在这个主题中,我们将详细讨论如何利用Struts2和jQuery的form插件来实现这一功能。 首先,Struts2是一个...
Struts2、jQuery、JSON和Ajax是Web开发中常见的技术栈,它们共同为构建动态、交互式的用户界面提供了强大的支持。下面将详细解释这些技术及其在登录示例中的应用。 Struts2是一个基于MVC(Model-View-Controller)...
Struts2、jQuery和JSON是Web开发中的三个关键技术,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将分别对这三个技术进行详细解释,并探讨它们如何协同工作。 Struts2是一个基于MVC(Model-View-...
这个资源"struts2+json"显然涉及到在Struts2框架下实现JSON(JavaScript Object Notation)数据交换,这是一种轻量级的数据交换格式,广泛用于前后端交互,特别是AJAX(Asynchronous JavaScript and XML)请求。...
"Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...
Struts2和jQuery是Web开发中的两个重要框架,它们结合使用可以实现许多强大的功能,比如异步上传图片并在页面上预览。在这个场景中,我们将深入探讨如何利用jQuery的form插件来实现在Struts2环境中进行图片上传,并...
在这个"struts2+ajax+jquery"的主题中,我们将深入探讨如何利用Struts2、jQuery和Ajax技术实现Web页面的异步交互。 首先,Struts2作为MVC框架,它的核心是Action,它负责处理用户的请求,并通过配置的Result返回...
总的来说,Struts2+Jquery+Ajax的组合使得开发者能够构建出交互性强、响应速度快的Web应用。通过理解MVC模式、熟练掌握Struts2的配置和Action处理、灵活运用Jquery和Ajax,可以大大提高开发效率,提升用户使用体验。...
博客链接中提到的内容可能详细解释了如何配置Struts2的Action、Result以及如何在JSP页面中使用jQuery与服务器进行交互,同时展示了如何处理和返回JSON数据。这个小例子可以帮助初学者理解这三者如何协同工作,提升...
Struts2、jQuery和JSON是Web开发中的三个关键组件,它们共同构成了高效、动态和交互式的用户界面。这里我们将深入探讨这三个技术,并结合实例来理解它们如何协同工作。 首先,Struts2是一个基于MVC(Model-View-...
总结来说,这个案例展示了如何利用Struts2作为后端控制器处理业务逻辑,jQuery简化前端交互,Ajax实现异步通信,以及JSON作为数据交换格式,共同构建一个高效、动态的Web应用程序。通过深入理解这些技术,开发者能够...
标题 "struts2+spring+hibernate+jquery+dwr+json" 描述了一个集成的Web应用程序开发框架,其中包含了多个关键技术和库。这个框架旨在提高开发效率,提供灵活的数据管理,以及用户友好的前端交互。 1. Struts2:...
总结起来,这个项目结合了Struts2的Action和JSON支持,利用jQuery的Ajax功能,实现了客户端与服务器之间的数据交互,达到了动态更新页面的目的。对于Web开发者来说,了解这种技术组合有助于提高开发效率和用户体验。
Struts2、jQuery、JSON和Ajax是Web开发中常见的技术栈,它们在构建动态、交互式的Web应用程序中扮演着重要角色。这篇博文可能是介绍如何将这些技术整合到一起,以提高用户界面的响应性和用户体验。 Struts2是一个...
**Ajax(Asynchronous JavaScript and XML)**:Ajax允许在不刷新整个页面的情况下,与服务器交换数据并局部更新网页内容,从而实现了异步交互。在jQuery中,使用$.ajax()函数或其简化的$.get()和$.post()方法可以...