`

struts2 jquery json ajax 三级联动菜单(2009-05-27 10:40:10)转载标签:it

阅读更多
struts2 jquery json ajax 三级联动菜单(2009-05-27 10:40:10)转载标签:it 

js代码

 
     $(document).ready(
      function(){
       $.ajax({
     url:"../adminManage/bindTheater.action",
     type:"GET",
     dataType:"json",
     success:bindTheaterList
    });
      }
  );
 
  function bindTheaterList(json){
   // 把返回的json字符串赋值给变量data
   var data=(json.theaterString);
    //遍历json对象
    for(var theater in data){
     //var option = document.createElement("option");
     //document.getElementById("bindTheater").appendChild(option);
     //option.value=data[theater].theaterId.value;
     //option.text=data[theater].name.value;
     //临时变量判断循环次数
     var flag=0;
     var option=document.createElement("option");
     //json对象中的一个元素
     for(var key in data[theater]){
      //创建一个option
      document.getElementById("bindTheater").appendChild(option);
      if(flag==0){
     
       option.value=data[theater][key];
       flag++;   
      }else{
       option.text=data[theater][key];
       flag=0;
      }
     }
    }
  }
 
 
     function getHall(){
      //绑定之前 清空第一个以外的option
      $("#bindHall").children().eq(0).siblings().remove();
      $("#bindShow").children().eq(0).siblings().remove();
      var temp=$("#bindTheater").find("option:selected").val();
      $.ajax({
     url:"../adminManage/bindHall.action",
     type:"get",
     dataType:"json",
     data:"theaterId="+temp,
     success:bindHallList
    });
     }
     //回调函数
     function bindHallList(json){
      data=(json.hallString);
      for(hall in data){
       var option = document.createElement("option");
       for(key in data[hall]){
       document.getElementById("bindHall").appendChild(option);
       option.text=data[hall][key];
       }
      }
     }
    
     function getShow(){
      //绑定之前 清空第一个以外的option
      $("#bindShow").children().eq(0).siblings().remove();
      var temp = $("#bindHall").find("option:selected").val();
      $.ajax({
     url:"../adminManage/bindShow.action",
     type:"get",
     dataType:"json",
     data:"hallId="+temp,
     success:bindShowList
    });
     }
     //回调函数
     function bindShowList(json){
      data=(json.showString);
      for(show in data){
       var option = document.createElement("option");
       for(key in data[show]){
       document.getElementById("bindShow").appendChild(option);
       option.text=data[show][key];
       }
      }
     }



页面代码

<body>
  <center>
   <div>
    <SPAN>
     影院:
     <select id="bindTheater" onChange="getHall()" style="width:100px;"></select>
    </SPAN>
    <SPAN>
     大厅:
     <select id="bindHall" onChange="getShow()" style="width:100px;">
      <option value="-1">--</option>
     </select>
    </SPAN>
    <span>
     场次:
     <select id="bindShow" style="width:100px;">
      <option  value="-1">--</option>
     </select>
    </span>
   </div>
  </center>
  <s:submit id="submit" value="生成票" onClick="genarateTickets()"></s:submit>
  <div>
  
  </div>
  </body>



配置文件

<package name="adminManage" extends="struts-default,json-default" namespace="/adminManage">

来源:(http://blog.sina.com.cn/s/blog_4a9f3eea0100dvgm.html) - struts2 jquery json ajax 三级联动菜单_liuxuesong200666_新浪博客
<action name="bindTheater" class="AdminManagementAction" method="bindTheater">
   <result type="json">
   </result>
  </action>
 
  <action name="bindHall" class="AdminManagementAction" method="bindHall"> 
   <result type="json"></result>
  </action>
 
  <action name="bindShow" class="AdminManagementAction" method="bindShow">
   <result type="json"></result>
  </action>

</package>



action代码

public String bindTheater() throws FileNotFoundException, IOException{
  List<Theater> list=adminService.findAllTheter();
  StringBuilder sb= new StringBuilder();
  int size=list.size();
  sb.append("[");
  for (Theater theater : list) {
   size--;
   sb.append("{theaterId:\"");
   sb.append(theater.getTheaterId());
   sb.append("\",theaterName:\"");
   sb.append(theater.getName());
   sb.append("\"}");
   if(size>0){
    sb.append(",");
   }
  }
  sb.append("]");
  this.theaterString=sb.toString(); 
  return SUCCESS;
}

public String bindHall(){
  List<Hall> list=this.adminService.findHallBytheaterId(Integer.parseInt(this.theaterId));
  StringBuilder sb= new StringBuilder();
  int size=list.size();
  sb.append("[");
  for (Hall hall : list) {
   size--;
   sb.append("{hallId:\"");
   sb.append(hall.getHid());
   sb.append("\",hallId:\"");
   sb.append(hall.getHid());
   sb.append("\"}");
   if(size>0){
    sb.append(",");
   }
  }
  sb.append("]");
  this.hallString = sb.toString();
  return SUCCESS;
}

public String bindShow(){
  List<Show> list=this.adminService.findShowByHallId(Integer.parseInt(this.hallId));
  StringBuilder sb= new StringBuilder();
  int size=list.size();
  sb.append("[");
  for (Show show : list) {
   size--;
   sb.append("{hallId:\"");
   sb.append(show.getSid());
   sb.append("\",hallId:\"");
   sb.append(show.getStartTime());
   sb.append("\"}");
   if(size>0){
    sb.append(",");
   }
  }
  sb.append("]");
  this.showString = sb.toString();
  return SUCCESS;
}



这里要暴露出几个私有的字段给json序列化(省略getter和setter)

private String theaterString;
private String hallString;
private String showString;
private String theaterId;
private String hallId;
private String showId;

来源:(http://blog.sina.com.cn/s/blog_4a9f3eea0100dvgm.html) - struts2 jquery json ajax 三级联动菜单_liuxuesong200666_新浪博客
分享到:
评论

相关推荐

    struts2 jquery json ajax 三级联动菜单

    综上所述,这个项目展示了如何使用Struts2作为后端控制器,jQuery处理前端交互,Ajax实现异步数据传输,以及JSON作为数据交换格式,共同构建一个功能完善的三级联动菜单。开发者需要对这些技术有深入理解,才能有效...

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    结合这三个组件,开发者可以构建出响应式、动态的Web应用,后端使用Struts 2处理业务逻辑,通过JSON Plugin返回JSON数据,前端利用jQuery通过AJAX请求获取这些数据,然后动态更新页面,提高用户体验。这种前后端分离...

    json实现三级联动下拉框---struts版(数据来自mysql数据库)

    在本项目中,"json实现三级联动下拉框---struts版(数据来自mysql数据库)"是利用JSON来处理省市县三级联动效果的示例,它通过Struts框架与MySQL数据库进行交互,动态地从数据库获取数据并更新到前端页面的下拉框中...

    ajax使用jquery json实现的省市县三级联动经验总结

    在IT领域,特别是Web开发中,实现省、市、县三级联动是常见需求之一,尤其在用户选择地理位置信息时。本文将深入解析如何利用Ajax、jQuery以及JSON来实现这一功能,通过具体代码示例和实践心得,帮助读者理解并掌握...

    struts2+json+jquery实现ajax数据的存取

    "Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...

    Jquery struts2 json 实现ajax

    标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...

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

    总的来说,这个“三级联动”项目展示了如何利用Struts2进行请求处理,Hibernate进行数据操作,JQuery实现前端交互,Ajax进行异步通信,以及Json进行数据交换。这是一个典型的Web应用开发实例,对于理解和掌握这些...

    Struts2+Jquery+Ajax

    "struts2 jar"文件包含了Struts2框架的核心库,可能包括struts2-core、struts2-convention、struts2-json-plugin等依赖,这些是开发Struts2应用必不可少的组件。 "Struts2"可能是项目实例代码,包括Action类、视图...

    ajax_struts_jquery_json级联菜单

    在"ajax_struts_jquery_json级联菜单"的场景中,我们将看到如何利用这四种技术协同工作来创建这样的功能。 首先,Struts框架在后台处理业务逻辑。当用户在前端选择了一个父级菜单项后,Struts Action会接收到这个...

    ajax,struts2,json实现省市区三级联动源码含全国省市区数据库

    “ajax,struts2,json实现省市区三级联动源码含全国省市区数据库”这一标题揭示了这个压缩包包含的是一项使用AJAX、Struts2和JSON技术来实现的省市区三级联动功能的源代码。这项技术常用于web应用中,允许用户在选择...

    Struts2 与Jquery Ajax的json数据交换的典型范例

    总结,Struts2和jQuery的Ajax JSON数据交换涉及以下几个关键步骤:配置Struts2的JSON插件,编写返回JSON数据的Action,使用jQuery发起Ajax请求并处理返回的JSON数据。通过这种方式,可以实现客户端与服务器之间的...

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

    本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action,并在后端进行处理。 首先,我们了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    jquery ajax json struts2最简单例子测试成功

    在IT行业中,jQuery、AJAX、JSON以及Struts2是四个非常重要的技术,它们在Web开发领域中扮演着核心角色。下面将详细解释这些技术及其相互间的集成。 **jQuery** 是一个快速、简洁的JavaScript库,它简化了HTML文档...

    Struts2 ajax json使用介绍

    Struts2是一个强大的MVC(模型-视图-控制器)框架,它允许开发者构建可维护性和可扩展性极强的企业级Web应用。Ajax(异步JavaScript和XML)技术则为Web应用提供了局部刷新的能力,提高了用户体验。JSON(JavaScript ...

    Struts2JQueryJson

    Struts2JQueryJson是一个基于Struts2框架与jQuery库,结合JSON(JavaScript Object Notation)数据格式,实现Ajax异步加载对象数据的技术方案。在Web应用开发中,这种技术可以提升用户体验,因为它允许页面部分内容...

    Struts2 JQueryJson例子 .rar

    这个"Struts2 JQueryJson例子 .rar"压缩包很可能是包含了一个实际的项目实例,演示了如何在Struts2框架中利用JQuery和JSON进行数据交互。下面将详细讲解Struts2、JQuery和JSON的相关知识点: 1. **Struts2框架**: ...

    struts2+json+ajax+jquery

    Struts2、JSON、Ajax 和 jQuery 是Web开发中的四个关键技术,它们共同构建了现代Web应用程序的数据交互和用户界面交互的核心部分。 Struts2 是一个基于MVC(Model-View-Controller)架构的Java Web框架,它使得...

    ssh+jquery+ajax二级联动

    在这个"ssh+jquery+ajax二级联动"项目中,开发者可能创建了一个简单的Web应用,实现了基于Ajax的二级联动选择功能。这通常在多级下拉菜单或地区选择等场景中常见,例如:省份选择后,城市列表会动态加载更新。 1. *...

    AJAX和struts2传递JSON数组

    在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...

    Struts2 + jQuery+JSON 实现ajax

    ### Struts2 + jQuery + JSON 实现Ajax 在现代Web开发中,Ajax技术因其能够实现网页的局部刷新而被广泛采用。本篇文章介绍如何利用Struts2框架结合jQuery与JSON来构建一个简单的Ajax功能。 #### 一、环境搭建 1. ...

Global site tag (gtag.js) - Google Analytics