JQuery+JSON+Struts返回一个List到页面
来源:互联网 发布:java发送qq消息接口 编辑:程序博客网 时间:2024/06/06 05:25
最近有人问我,怎么用JQuery+JSON+Struts实现,返回一个List到页面,前面我已经讲过了 一个简单的登陆的例子,那是返回一个字符串,
这个例子有些不同,因为你要返回的是一个列表,而列表中都是实体:在这个实例中点击公司名称,返回子公司列表,从Action中返回List
这就需要用到JSONArray 把原来的List 转化为JSONArray格式,我看到网上有相应的文章,但是相对麻烦,还有很多人自己写代码,实现普通的实体转化为JSon对象,
这样的人很厉害,但是有现成的为什么还自己动手呢,直接用JSON包中的不就行了嘛
准备:在你为整个项目添加了Struts之后(例子中是Struts2.1)
还要下载一个json-lib-2.4-jdk15.jar(我下载的是这个版本),添加到项目中
同时还要下载一个ezmorth-1.0.1.jar(我用的这个版本比较低,可以下载新的),否则就会出现 class net.sf.json.XXXX can't fount这样的错误,就是一个类找不到,把
这个包加入就没有问题了。
准备结束了,直接看代码就行了:
首先看show.jsp
01
<
script
type
=
"text/javascript"
src="<%=basePath%>/js/jquery-1.3.1.js">
02
</
script
>
03
<
script
type
=
"text/javascript"
>
04
function GetTree(num)
05
{
06
var param={comNum:num};
07
$.ajax({ //采用Ajax方法
08
type:"post", //post方式
09
dataType:"json", //返回数据类型是JSON数据格式
10
data:param, //传递给Action的参数是param
11
url:"ReturnTree", //处理的Action名称
12
success:function(data){ //成功的处理函数
13
14
$.each(data,function(commentIndex, comment) { //遍历返回数组的每一个实体
15
alert(comment.sshortName); //输出实体的sshortName属性的值
16
})
17
},"json");
18
}
19
</
script
>
20
</
head
>
21
<
body
>
22
<
body
id
=
"bodyTree"
>
23
<
div
id
=
"cmsTree"
>
24
<
ul
id
=
"treemenu3"
class
=
"treeview"
>
25
<
li
>
26
<
strong
>组织架构</
strong
>
27
<
a
href
=
"javascript:ddtreemenu.flatten('treemenu3', 'expand')"
><
strong
>展开</
strong
>
28
</
a
>
29
<
a
href
=
"javascript:ddtreemenu.flatten('treemenu3', 'contact')"
><
strong
>收缩</
strong
>
30
</
a
>
31
</
li
>
32
<
li
>
33
34
//在这里调用JS函数参数是公司的ID
35
<
i
></
i
><
span
onclick="GetTree('<%=company.getCompanyNum()%>')"><%=company.getCompanynameC()%></
span
>
36
<
ul
>
37
<
li
>
38
<
a
href
=
"#"
>彰化</
a
>
39
</
li
>
Action的代码:
01
public
class
DLCompanyAction {
02
03
private
String comNum;
//接受页面传递过来的公司ID参数
04
05
public
String getComNum() {
06
return
comNum;
07
}
08
public
void
setComNum(String comNum) {
09
this
.comNum = comNum;
10
}
11
12
private
JSONArray resultTree;
//我要返回给页面的List
13
14
public
JSONArray getResultTree() {
15
return
resultTree;
16
}
17
public
void
setResultTree(JSONArray resultTree) {
18
this
.resultTree = resultTree;
19
}
20
public
String GetDLCTree()
21
{
22
dlc=
new
DLcompanyserviceImp();
//dlc 是我项目中的一个service实现类,里面有一个方法就是下面的ReturnSubcompanyById,方法是根据给定的公司,返回公司的子公 司 列表
23
List<Subcompany> list=dlc.ReturnSbuCommpanyById(comNum);
24
JSONArray jsarry=
new
JSONArray();
25
jsarry=JSONArray.fromObject(list);
//或者JSONArray jsarry=JSONArray.fromObject(list)
26
resultTree=jsarry;
27
return
"success"
;
28
}
29
30
}
最后是Struts.xml的配置
1
<
package
name
=
"TreeDL"
extends
=
"json-default"
>
2
<
action
name
=
"ReturnTree"
class
=
"com.wit.action.DLCompanyAction"
method
=
"GetDLCTree"
>
3
<
result
type
=
"json"
>
4
<
param
name
=
"root"
>resultTree</
param
>//resultTree是Action中的返回变量
5
</
result
>
6
</
action
>
7
</
package
>
一切OK,希望对你有帮助哦.
最近有人问我,怎么用JQuery+JSON+Struts实现,返回一个List到页面,前面我已经讲过了 一个简单的登陆的例子,那是返回一个字符串,
这个例子有些不同,因为你要返回的是一个列表,而列表中都是实体:在这个实例中点击公司名称,返回子公司列表,从Action中返回List
这就需要用到JSONArray 把原来的List 转化为JSONArray格式,我看到网上有相应的文章,但是相对麻烦,还有很多人自己写代码,实现普通的实体转化为JSon对象,
这样的人很厉害,但是有现成的为什么还自己动手呢,直接用JSON包中的不就行了嘛
准备:在你为整个项目添加了Struts之后(例子中是Struts2.1)
还要下载一个json-lib-2.4-jdk15.jar(我下载的是这个版本),添加到项目中
同时还要下载一个ezmorth-1.0.1.jar(我用的这个版本比较低,可以下载新的),否则就会出现 class net.sf.json.XXXX can't fount这样的错误,就是一个类找不到,把
这个包加入就没有问题了。
准备结束了,直接看代码就行了:
首先看show.jsp
01
<
script
type
=
"text/javascript"
src="<%=basePath%>/js/jquery-1.3.1.js">
02
</
script
>
03
<
script
type
=
"text/javascript"
>
04
function GetTree(num)
05
{
06
var param={comNum:num};
07
$.ajax({ //采用Ajax方法
08
type:"post", //post方式
09
dataType:"json", //返回数据类型是JSON数据格式
10
data:param, //传递给Action的参数是param
11
url:"ReturnTree", //处理的Action名称
12
success:function(data){ //成功的处理函数
13
14
$.each(data,function(commentIndex, comment) { //遍历返回数组的每一个实体
15
alert(comment.sshortName); //输出实体的sshortName属性的值
16
})
17
},"json");
18
}
19
</
script
>
20
</
head
>
21
<
body
>
22
<
body
id
=
"bodyTree"
>
23
<
div
id
=
"cmsTree"
>
24
<
ul
id
=
"treemenu3"
class
=
"treeview"
>
25
<
li
>
26
<
strong
>组织架构</
strong
>
27
<
a
href
=
"javascript:ddtreemenu.flatten('treemenu3', 'expand')"
><
strong
>展开</
strong
>
28
</
a
>
29
<
a
href
=
"javascript:ddtreemenu.flatten('treemenu3', 'contact')"
><
strong
>收缩</
strong
>
30
</
a
>
31
</
li
>
32
<
li
>
33
34
//在这里调用JS函数参数是公司的ID
35
<
i
></
i
><
span
onclick="GetTree('<%=company.getCompanyNum()%>')"><%=company.getCompanynameC()%></
span
>
36
<
ul
>
37
<
li
>
38
<
a
href
=
"#"
>彰化</
a
>
39
</
li
>
Action的代码:
01
public
class
DLCompanyAction {
02
03
private
String comNum;
//接受页面传递过来的公司ID参数
04
05
public
String getComNum() {
06
return
comNum;
07
}
08
public
void
setComNum(String comNum) {
09
this
.comNum = comNum;
10
}
11
12
private
JSONArray resultTree;
//我要返回给页面的List
13
14
public
JSONArray getResultTree() {
15
return
resultTree;
16
}
17
public
void
setResultTree(JSONArray resultTree) {
18
this
.resultTree = resultTree;
19
}
20
public
String GetDLCTree()
21
{
22
dlc=
new
DLcompanyserviceImp();
//dlc 是我项目中的一个service实现类,里面有一个方法就是下面的ReturnSubcompanyById,方法是根据给定的公司,返回公司的子公 司 列表
23
List<Subcompany> list=dlc.ReturnSbuCommpanyById(comNum);
24
JSONArray jsarry=
new
JSONArray();
25
jsarry=JSONArray.fromObject(list);
//或者JSONArray jsarry=JSONArray.fromObject(list)
26
resultTree=jsarry;
27
return
"success"
;
28
}
29
30
}
最后是Struts.xml的配置
1
<
package
name
=
"TreeDL"
extends
=
"json-default"
>
2
<
action
name
=
"ReturnTree"
class
=
"com.wit.action.DLCompanyAction"
method
=
"GetDLCTree"
>
3
<
result
type
=
"json"
>
4
<
param
name
=
"root"
>resultTree</
param
>//resultTree是Action中的返回变量
5
</
result
>
6
</
action
>
7
</
package
>
一切OK,希望对你有帮助哦.
- JQuery+JSON+Struts返回一个List到页面
- JQuery+JSON+Struts返回一个List到页面
- JQuery+JSON+Struts返回一个List到页面
- 将一个List转成json对象返回到前台页面
- jsp通过jQuery返回json数据到页面
- 关于jsp页面返回一个list到action中的写法
- SpringMVC 方法里返回json或跳到一个页面
- struts2+json返回一个list
- struts2+json返回一个list
- 返回json对象到页面
- java 返回json list及jquery 解析
- ssh 中 jquery ajax 调用action返回的json数据并传递到页面
- jquery使页面返回到顶部代码
- jquery 滑动返回到页面的顶部
- Jquery 传json格式数据到后台,后台反序列化得到一个集合list
- jquery easyui tree动态加载-服务端struts返回json数据
- Struts+JQuery实现ajax并返回json数据
- struts json 类型异常返回到js弹框
- 微博系统开发数据库设计参考(二)
- c# 正则表达式中的一些解决方案
- jQuery菜单栏设计
- SOA、ESB、WebService、SCA、BPEL区别与联系
- 开始CSDN技术博客之行
- JQuery+JSON+Struts返回一个List到页面
- 目前做互联网最重要的就是定位和执行力
- per cpu 变量
- BS与CS的差别
- 黑马程序员_Java包和多线程
- Android 杀掉自己进程的方法
- 在基于WebSphere JSF 1.2 Portlet Bridge的JSF Portlet中实现文件下载
- Grape
- LINQ表达式总结笔记