博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2+JSON+JQUERY DEMO
阅读量:6152 次
发布时间:2019-06-21

本文共 6114 字,大约阅读时间需要 20 分钟。

看到别人用了Struts2和JSON,自己也想练练手。记录下练习过程中遇到的问题,以便参考。

使用Maven新建项目:

先挂上pom.xml

1 
3
4.0.0
4
com.sk
5
struts
6
war
7
0.0.1-SNAPSHOT
8
struts Maven Webapp
9
http://maven.apache.org
10
11
12
junit
13
junit
14
3.8.1
15
test
16
17
18
19
org.apache.logging.log4j
20
log4j-api
21
2.0-beta7
22
23
24
org.apache.logging.log4j
25
log4j-core
26
2.0-beta7
27
28 29
30
31
org.apache.struts
32
struts2-core
33
2.3.1.2
34
35
36
org.apache.struts
37
struts-taglib
38
1.3.10
39
40 41
42
43
javax.servlet
44
servlet-api
45
2.5
46
47 48
49
50
net.sf.json-lib
51
json-lib
52
2.2.3
53
jdk15
54
55
58
59
org.apache.struts
60
struts2-json-plugin
61
2.3.15
62
63 64 65 66 67
68
69
70
71
org.apache.maven.plugins
72
maven-compiler-plugin
73
3.0
74
75
1.776
1.7
77
78
79
80
81 82

再整个VO:User.java

1 package com.sk.struts2.bean; 2  3 import java.io.Serializable; 4  5 public class User implements Serializable { 6  7     private String id; 8     private String username; 9     private String pwd;10         // 省略setter和getter11 }

然后是action:JSONAction.java

1 package com.sk.struts2.action; 2  3 import net.sf.json.JSONObject; 4  5 import com.opensymphony.xwork2.ActionSupport; 6 import com.sk.struts2.bean.User; 7  8 public class JSONAction extends ActionSupport { 9 10     private static final long serialVersionUID = -795596058695827298L;11     12     private User user;13     private String jsonString;14 15     @Override16     public String execute() throws Exception {17         JSONObject jsonObject = null;18         if(user != null){19             jsonObject = JSONObject.fromObject(user);20             jsonString = jsonObject.toString();21             System.out.println(jsonString);22         }23         return SUCCESS;24     }25 26     public User getUser() {27         return user;28     }29 30     public void setUser(User user) {31         this.user = user;32     }33 34     public String getJsonString() {35         return jsonString;36     }37 38     public void setJsonString(String jsonString) {39         this.jsonString = jsonString;40     }41     42 }

接着是View:json.jsp

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2     pageEncoding="ISO-8859-1"%> 3 <%@ taglib prefix="s" uri="/struts-tags" %> 4  5  6  7 
8 Hello World! 9 10 11 12 13
14 ID:
15 username:
16 pwd:
17 18
19
20 21

Here is result:

22
23 24

还有JS:json.js

1 $(function(){ 2     $('#btn').click(function(){ 3         var params=$("input").serialize(); 4         var actionPath = getRootPath() + "/jsonTest/jsonAction"; 5          6         $.ajax({ 7             url: actionPath, 8             // 数据发送方式 9             type: "post",10             // 接受数据格式11             dataType : "json",12             // 要传递的数据13             data : params,14             // 回调函数,接受服务器端返回给客户端的值,即result值15             success : show   16         }).always(function(){alert('done');});17     });18 });19 20 function show(result){21     //测试result是否从服务器端返回给客户端22     //alert(result);23     //解析json对象24     var json = eval("("+result+")");25     var obj = "编号: "+json.id+"  用户名: "+json.username+"  密码: "+json.pwd;26     $("#result").html(obj);27 }28 29 //js获取项目根路径,如: http://localhost:8083/uimcardprj30 function getRootPath(){31     //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp32     var curWwwPath=window.document.location.href;33     //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp34     var pathName=window.document.location.pathname;35     var pos=curWwwPath.indexOf(pathName);36     //获取主机地址,如: http://localhost:808337     var localhostPaht=curWwwPath.substring(0,pos);38     //获取带"/"的项目名,如:/uimcardprj39     var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1);40     return(localhostPaht+projectName);41 }

最后奉上:struts.xml

1 
2 5 6
7 8
9 10
11
12
13
14
jsonString15
16
17
18 19

ok,all done.下面测试哈:

最后给个目录结构:

OK.Enjoy!

转载于:https://www.cnblogs.com/JavaTechLover/p/Struts2-JSON-JQUERY.html

你可能感兴趣的文章
Red Hat 安装源包出错 Package xxx.rpm is not signed
查看>>
编译安装mysql-5.6.16.tar.gz
查看>>
活在当下
查看>>
每天进步一点----- MediaPlayer
查看>>
PowerDesigner中CDM和PDM如何定义外键关系
查看>>
跨域-学习笔记
查看>>
the assignment of reading paper
查看>>
android apk 逆向中常用工具一览
查看>>
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>
五、字典
查看>>
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>
Socket编程注意接收缓冲区大小
查看>>
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>