最近有人问我,怎么用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">
|
03
|
< script type = "text/javascript" >
|
06
|
var
param={comNum:num};
|
09
|
dataType:"json",
//返回数据类型是JSON数据格式
|
10
|
data:param,
//传递给Action的参数是param
|
11
|
url:"ReturnTree",
//处理的Action名称
|
12
|
success:function(data){
//成功的处理函数
|
14
|
$.each(data,function(commentIndex,
comment) { //遍历返回数组的每一个实体
|
15
|
alert(comment.sshortName);
//输出实体的sshortName属性的值
|
24
|
< ul id = "treemenu3" class = "treeview" >
|
27
|
< a href = "javascript:ddtreemenu.flatten('treemenu3',
'expand')" >< strong >展开</ strong >
|
29
|
< a href = "javascript:ddtreemenu.flatten('treemenu3',
'contact')" >< strong >收缩</ strong >
|
35
|
< i ></ i >< span onclick="GetTree('<%=company.getCompanyNum()%>')"><%=company.getCompanynameC()%></ span >
|
Action的代码:
01
|
public class DLCompanyAction
{
|
05
|
public String
getComNum() {
|
08
|
public void setComNum(String
comNum) {
|
12
|
private JSONArray
resultTree;
|
14
|
public JSONArray
getResultTree() {
|
17
|
public void setResultTree(JSONArray
resultTree) {
|
18
|
this .resultTree
= resultTree;
|
20
|
public String
GetDLCTree()
|
22
|
dlc= new DLcompanyserviceImp();
|
23
|
List<Subcompany>
list=dlc.ReturnSbuCommpanyById(comNum);
|
24
|
JSONArray
jsarry= new JSONArray();
|
25
|
jsarry=JSONArray.fromObject(list);
|
最后是Struts.xml的配置
1
|
< package name = "TreeDL" extends = "json-default" >
|
2
|
< action name = "ReturnTree" class = "com.wit.action.DLCompanyAction" method = "GetDLCTree" >
|
4
|
< param name = "root" >resultTree</ param >//resultTree是Action中的返回变量
|
一切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">
|
03
|
< script type = "text/javascript" >
|
06
|
var
param={comNum:num};
|
09
|
dataType:"json",
//返回数据类型是JSON数据格式
|
10
|
data:param,
//传递给Action的参数是param
|
11
|
url:"ReturnTree",
//处理的Action名称
|
12
|
success:function(data){
//成功的处理函数
|
14
|
$.each(data,function(commentIndex,
comment) { //遍历返回数组的每一个实体
|
15
|
alert(comment.sshortName);
//输出实体的sshortName属性的值
|
24
|
< ul id = "treemenu3" class = "treeview" >
|
27
|
< a href = "javascript:ddtreemenu.flatten('treemenu3',
'expand')" >< strong >展开</ strong >
|
29
|
< a href = "javascript:ddtreemenu.flatten('treemenu3',
'contact')" >< strong >收缩</ strong >
|
35
|
< i ></ i >< span onclick="GetTree('<%=company.getCompanyNum()%>')"><%=company.getCompanynameC()%></ span >
|
Action的代码:
01
|
public class DLCompanyAction
{
|
05
|
public String
getComNum() {
|
08
|
public void setComNum(String
comNum) {
|
12
|
private JSONArray
resultTree;
|
14
|
public JSONArray
getResultTree() {
|
17
|
public void setResultTree(JSONArray
resultTree) {
|
18
|
this .resultTree
= resultTree;
|
20
|
public String
GetDLCTree()
|
22
|
dlc= new DLcompanyserviceImp();
|
23
|
List<Subcompany>
list=dlc.ReturnSbuCommpanyById(comNum);
|
24
|
JSONArray
jsarry= new JSONArray();
|
25
|
jsarry=JSONArray.fromObject(list);
|
最后是Struts.xml的配置
1
|
< package name = "TreeDL" extends = "json-default" >
|
2
|
< action name = "ReturnTree" class = "com.wit.action.DLCompanyAction" method = "GetDLCTree" >
|
4
|
< param name = "root" >resultTree</ param >//resultTree是Action中的返回变量
|
一切OK,希望对你有帮助哦.
分享到:
相关推荐
1、将struts2的json插件加入web工程的lib,jsonplugin的下载地址:http://code.google.com/p/jsonplugin/downloads/list
NULL 博文链接:https://1029457926.iteye.com/blog/1992577
这是struts2返回json并在页面展示的练习项目 对初学者来说有用 有4个小项目分别练习struts2返回单个字符、对象、数组、map
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
学习时做的一个struts2框架下前台页面获取后台json格式的数据,list,map等。页面包含多级联动页面,登陆验证页面,获取后台map,list格式的json格式数据的页面。分享给大家学习。
在使用struts2+ajax时候,通常我们会返回json类型的数据,但是像上面的例子,我们只希望返回一个1和0有助于进行后续判断即可,没必要返回json类型,返回一个text字符串就可以了. regist.jsp(这里只提供[removed]部分): ...
这个样例是用JQuery ajax和struts来做的一个小样例,在这个样例中采用两种方式将java Util中的list转换成支json的格式,第一种是用json-lib.jar这个jar包来转换,第二种是采用goole的gson-2.1.jar来转换,大家可以...
8、写一个struts.xml 包含use.xml 1)跳转到 /user/register_form.jsp <result name="form">/user/register_form.jsp 完善action。 <param name="inputName">image <result name="success" type="...
8、写一个struts.xml 包含use.xml 1)跳转到 /user/register_form.jsp <result name="form">/user/register_form.jsp 完善action。 <param name="inputName">image <result name="success" type="...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...