`
齐晓威_518
  • 浏览: 617813 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

JQuery+JSON+Struts返回一个List到页面

 
阅读更多
最近有人问我,怎么用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
<script type="text/javascript" src="<%=basePath%>/js/jquery-1.3.1.js">
   </script>
   <script type="text/javascript">
   function GetTree(num)
   {
       var param={comNum:num};
         $.ajax({                  //采用Ajax方法
         type:"post",        //post方式
         dataType:"json",   //返回数据类型是JSON数据格式
         data:param,            //传递给Action的参数是param
         url:"ReturnTree",          //处理的Action名称
         success:function(data){         //成功的处理函数
           $.each(data,function(commentIndex, comment) {  //遍历返回数组的每一个实体
           alert(comment.sshortName);                                    //输出实体的sshortName属性的值
           })
         },"json");
   }
   </script>
</head>
<body>
<body id="bodyTree">
  <div id="cmsTree">
   <ul id="treemenu3" class="treeview">
    <li>
     <strong>组织架构</strong>
     <a href="javascript:ddtreemenu.flatten('treemenu3', 'expand')"><strong>展开</strong>
     </a>
     <a href="javascript:ddtreemenu.flatten('treemenu3', 'contact')"><strong>收缩</strong>
     </a>
    </li>
    <li>
           //在这里调用JS函数参数是公司的ID
     <i></i><span onclick="GetTree('<%=company.getCompanyNum()%>')"><%=company.getCompanynameC()%></span>
     <ul>
      <li>
       <a href="#">彰化</a>
      </li>
Action的代码:
public class DLCompanyAction {
private String comNum;//接受页面传递过来的公司ID参数

public String getComNum() {
  return comNum;
}
public void setComNum(String comNum) {
  this.comNum = comNum;
}
private JSONArray resultTree;//我要返回给页面的List

public JSONArray getResultTree() {
  return resultTree;
}
public void setResultTree(JSONArray resultTree) {
  this.resultTree = resultTree;
}
public String GetDLCTree()
{
     dlc=new DLcompanyserviceImp();//dlc 是我项目中的一个service实现类,里面有一个方法就是下面的ReturnSubcompanyById,方法是根据给定的公司,返回公司的子公    司   列表
     List<Subcompany> list=dlc.ReturnSbuCommpanyById(comNum);
     JSONArray jsarry=new JSONArray();
     jsarry=JSONArray.fromObject(list);  //或者JSONArray jsarry=JSONArray.fromObject(list)
     resultTree=jsarry;   
    return "success";
}
}

最后是Struts.xml的配置
<package name="TreeDL" extends="json-default">
<action name="ReturnTree" class="com.wit.action.DLCompanyAction" method="GetDLCTree">
<result type="json">
  <param name="root">resultTree</param>//resultTree是Action中的返回变量
</result>
</action>
</package>
分享到:
评论

相关推荐

    Struts2 + jQuery+JSON 实现ajax

    本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. **引入Struts2的JSON插件** 描述中提到的第一步是将Struts2的JSON插件加入到Web项目的lib目录下。这一步非常...

    一个简单的struts2+json+jquery 交互的例子

    Action类可能包含一个方法,该方法返回一个封装了数据的Java对象,并且需要在Struts2的配置文件中声明这个方法应该返回JSON类型的结果。 接着,我们需要配置Struts2的JSON插件,以支持JSON输出。这通常涉及在struts...

    struts2+jquery+json+List

    Struts2、jQuery、JSON和List是Web开发中常见的技术栈,它们在构建动态、交互式的Web应用程序中扮演着重要角色。这篇博文可能是探讨如何在Struts2框架中结合jQuery和JSON来处理List类型的数据。 Struts2是一个流行...

    Struts2+JQuery+Json实例

    在Struts2中,Action类可以有一个List类型的属性,每个元素都是一个对象。JQuery通过Ajax请求获取到这个JSON数组后,可以遍历并处理每个对象。 5. **获取Map对象**:JSON对象本质上就是一个键值对的集合,与Java中...

    基于Jquery+Ajax+Json实现分页显示附效果图

    该方法接收四个参数:`mobileNum`(手机号码)、`gatewayid`(网关ID)、`startDate`(开始日期)与`endDate`(结束日期),返回一个包含黑名单信息的`List&lt;LBlack&gt;`对象。 ```java List&lt;LBlack&gt; blackList = ...

    Jquery+Struts2+JSON处理

    例如,如果你的JSON响应包含一个名为`list`的数组,你可以遍历并显示它们: ```javascript success: function(response) { var listItems = ''; $.each(response.list, function(index, item) { listItems += '...

    Struts2+hibernate3+JQuery+ajax+json三级联动

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它的主要职责是处理用户请求,控制应用程序流程,并将数据传递到视图层。在“三级联动”场景下,Struts2可能是用来接收前端的Ajax请求,调用...

    struts2+json+ajax整合例子(导入即可运行,附带详细教程)

    总的来说,"Struts2+json+ajax整合例子"是一个实用的教学资源,帮助开发者了解如何在实际项目中利用这些技术进行高效的Web开发。通过学习和实践这个例子,开发者可以提升其在Web应用程序开发中的技能。

    struts+json+jquery练习小项目包括返回单个字符、对象、list、map

    Struts2提供了一个插件,叫做Struts2-JSON-plugin,它允许Action类直接返回JSON响应。在Action类中,你可以定义一个结果类型为"json"的返回值,然后将你需要转换为JSON的对象放入value栈,Struts2会自动处理这个对象...

    ajax+json+Struts2实现list传递实例讲解.docx

    3. 确保服务器端的Action方法返回一个能够被转换成JSON的类型,例如`List&lt;ErrorCondition&gt;`或`Map, ErrorCondition&gt;`。 总结来说,这个实例演示了如何利用Ajax、JSON和Struts2框架在客户端与服务器之间传递和展示...

    jquery的ajax传json对象数组到struts2的action

    然后,创建一个Action类,声明一个List类型的属性,用来接收前端发送的JSON数组: ```java public class UserAction extends ActionSupport { private List&lt;User&gt; users; // getters and setters public ...

    struts2+json_jquery

    Struts2是一个强大的MVC(模型-视图-控制...在"struts2+json+jquery"的页面整合中,首先,我们需要在Struts2的配置文件(struts.xml)中定义Action,这个Action将负责处理客户端的请求并返回JSON数据。例如: ```xml ...

    Struts2+JSON 实现AJAX 返回对象和列表

    JSON插件是Struts2的一个扩展插件,它提供了JSON结果类型(Result Type),使得开发者可以在Action中直接返回JSON格式的数据,而无需显式地编写视图层代码来渲染这些数据。这对于实现基于Ajax的交互非常有用。 ####...

    Struts2JQueryJson

    Struts2JQueryJson是一个基于Struts2框架的项目,主要展示了如何在前端使用JQuery库来处理由后台返回的JSON格式数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也方便...

    Struts2+Jquery实现ajax并返回json类型数据

    在本教程中,我们将探讨如何结合使用Struts2和jQuery来实现一个使用Ajax发送请求并接收JSON类型数据的功能。 首先,我们需要在JSP页面中使用jQuery发起Ajax请求。jQuery的`$.ajax()`函数是实现这一功能的核心。例如...

    struts2+json省市区级联显示

    Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-Controller)设计模式,主要用于构建企业级的Web应用程序。JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,它允许数据以键值对...

    在jQuery中使用JSON(Struts2)

    在Struts2中,可以使用`struts.json.package`或`struts.json.action`注解来标记一个Action为JSON响应。例如: ```java @ParentPackage("json-default") public class MyAction extends ActionSupport { private ...

    struts2+json

    通常,这个属性会是一个Map、List或者其他可以转化为JSON的对象。 4. **JSON插件的设置**: 可能需要配置JSON插件,例如排除某些不必要的字段,或者指定日期格式等。这可以通过在配置文件中添加以下内容来完成: ``...

Global site tag (gtag.js) - Google Analytics