`
lzh166
  • 浏览: 297977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用Dwr实现二级菜单联动效果

    博客分类:
  • DWR
阅读更多
利用Dwr实现二级菜单联动效果
先贴出数据填充的代码
public class PersonManager {
	private static Map orgs = new HashMap();
	private static Map persons = new HashMap();
	
	static{
		for(int i=0; i<10; i++){
			Org org = new Org();
			org.setId(i);
			org.setName("机构"+i);
			orgs.put(org.getId(), org);
			
			List personList = new ArrayList();
			for(int j=0; j<20; j++){
				Person person = new Person();
				person.setId(j);
				person.setName("org["+org.getName()+"]下的人员[人员"+j+"]");
				personList.add(person);
			}
			persons.put(org.getId(), personList);
		}
	}
	
	public Collection searchAllOrg(){
		return orgs.values();
	}
	
	public List searchPersons(int orgId){
		return (List)persons.get(orgId);
	}
}


机构和人员实体类:
public class Org {
	private int id;
	private String name;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

public class Person{
	private int id;
	private String name;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

dwr.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
   <create creator="new" javascript="personManager">
      <param name="class" value="com.bjsxt.dwr.PersonManager"/>
    </create>
    <!--DWR帮助我们将本地的javascript脚本函数调用转变成对远程java对象函数的调用。
    	在函数的调用过程中我们需要传递参数,这样我们就需要将本地的javascript变量转变成对应的
    java类型变量。这个就是Convertor的作用。 -->
    <convert converter="bean" match="com.bjsxt.dwr.Person"/>
    <convert converter="bean" match="com.bjsxt.dwr.Org"/>
  </allow>
</dwr>

展现页面:
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/personManager.js"></script>
<script type="text/javascript">
function init(){
	personManager.searchAllOrg(
		function(data){
			// [{"id":xx,"name":xx},{"id":xxx,"name":xxx},{}]
			dwr.util.addOptions("o",data,"id","name");
			searchPersons();
		}
	);
}

function searchPersons(){
	personManager.searchPersons(
		$("o").value,
		function(data){
			dwr.util.removeAllOptions("p");//一定要加上这个方法 ,否则会在后面追加
			dwr.util.addOptions("p",data,"id","name");
		}
	);
}

</script>
</head>
<body onload="init()">

请选择机构:<select id="o" onchange="searchPersons()"></select> <br>
请选择人员:<select id="p"></select>

</body>
</html>

分享到:
评论

相关推荐

    dwr框架实现二级菜单联动

    在项目“dwrsqlmysql”中,通过整合Spring、Hibernate、Ajax、DWR等技术,实现了高效的二级菜单联动功能。这不仅提升了用户体验,还优化了数据处理流程,展现了现代Web开发的强大能力。通过深入理解各组件的作用和...

    纯JSP+DWR实现三级联动下拉选择菜单 实现无刷新联动 DWR判断用户是否存在 ajax二级联动菜单 DWR操作数据库模拟实现Google搜索效果

    本示例主要展示了如何使用纯JSP和Direct Web Remoting (DWR)技术来构建一个功能丰富的用户界面,其中包括三级联动下拉选择菜单、无刷新联动、用户存在性判断以及模拟Google搜索效果的功能。DWR是一种JavaScript库,...

    dwr实现四级联动(五级参数信息展示)

    在IT行业中,"四级联动"通常指的是在一个网页应用中,四个下拉菜单或者选择框之间存在依赖关系,当用户在一级菜单中选择一个选项时,二级菜单会根据一级的选择自动更新其可选内容,以此类推,直到第四级。...

    dwr框架+struts+Hibrenate实现下拉菜单二级联动

    5. **编写JavaScript**:在前端,使用DWR的API监听一级下拉菜单的change事件,当用户选择一项时,通过DWR调用后台服务获取二级菜单数据,并更新二级下拉菜单。 6. **视图(View)**:使用HTML和CSS创建下拉菜单,...

    ssh+dwr2实现省市二级联动

    本篇主要讨论如何利用SSH框架和DWR来实现省市二级联动效果。 省市二级联动通常是指在一个下拉菜单选择省份后,另一个下拉菜单会动态加载对应的市一级的数据。这种功能在很多网站的地址填写环节中常见,它可以提高...

    用dwr做的二级联动菜单(可扩展为多级联动)

    使用dwr做的二级联动菜单,不会出现DWRUtil未定义的问题。不使用DWRUtil实现,依赖dwr.xml中的配置的实体实现二级联动。数据库采用mysql,字段简单可根据自己的情况建立数据库,根据pojo中的类建立表,然后把util...

    DWR 实现三级联动(2)

    3. **Struts2的二级联动**:Struts2框架提供了内置的二级联动支持,但效率相对较低,且不适用于更复杂的多级联动需求。因此,开发者通常会寻找其他解决方案,如DWR,来提高性能和用户体验。 4. **DWR(Direct Web ...

    ajaxdwr select二级联动

    在这个“ajaxdwr select二级联动”的场景中,我们将讨论如何利用这两种技术实现下拉菜单的级联选择效果。 Ajax是一种在无需刷新整个页面的情况下,能够更新部分网页的技术。它通过JavaScript发送异步请求到服务器,...

    DWR 实现三级联动(1)

    在Java中,我们需要创建两个方法,分别对应二级联动和三级联动。`getSecondSort`方法接收商品大类的ID作为参数,返回一个映射,该映射的键值对表示商品小类的ID和名称。`getBrand`方法类似,但接收商品小类的ID,...

    三级联动代码 DWR

    在本案例中,"三级联动代码 DWR"指的是使用DWR来实现一个具有三级关联的下拉菜单,当用户在一级菜单中选择一项时,二级菜单会自动更新,然后根据二级菜单的选择,三级菜单也会动态改变。这种方式可以提升用户体验,...

    dwr做的联动菜单 数据从数据库中取出

    **二级联动菜单** 是指在Web界面上,当用户选择一级菜单时,对应的二级菜单会根据一级菜单的选择动态加载数据。这种设计常见于地区选择、产品分类等场景,能有效减少页面刷新,提高用户体验。 在本项目中,我们利用...

    dwr jsp三级连动菜单

    在网页设计中,联动菜单意味着当用户选择某个菜单项时,下一级菜单会根据所选项动态加载,这种效果可以递归到多级菜单,提供良好的用户体验。 首先,我们需要了解DWR的基本原理。DWR的核心功能是能够在浏览器中直接...

    ajax实现登陆二级联动增删改查

    在登录系统中,二级联动通常指的是下拉菜单或选择框的选择项之间存在依赖关系,即当用户选择一级菜单时,二级菜单会根据一级菜单的选项自动更新。这种功能可以通过Ajax实现,当用户在登录界面选择地区时,国家和城市...

    纯ajax二级联动菜单

    在不刷新整个页面的情况下,通过Ajax(异步JavaScript和XML)技术,用户选择一级菜单后,二级菜单会根据一级菜单的选择动态加载相关数据,提供更加流畅的用户体验。 【描述】:这个项目是为初学者设计的,旨在教授...

    纯JSP+DWR实现三级联动下拉选择菜单实现技巧

    总结来说,本示例展示了如何利用DWR和JSP实现一个三级联动下拉菜单,提供了对数据库数据的动态加载和显示,这在构建交互式Web应用时非常有用。这种方法避免了使用复杂框架的过度工程,只使用了必要的组件,适合小型...

    dwr+struts 三级菜单

    5. 同样的过程应用于二级菜单到三级菜单的联动。 项目中的"dwrt+struts三级级联菜单"可能包含了以下文件: - `struts-config.xml`: Struts框架的配置文件,定义了Action和ActionForm。 - `dwr.xml`: DWR的配置文件...

    ajax三级联动菜单

    2. **JavaScript逻辑**:使用DWR提供的API,当用户在一级菜单中选择一个选项时,发送Ajax请求到服务器,服务器查询相应的二级菜单数据并返回。同样的逻辑应用到二级菜单,选择后触发请求获取三级菜单数据。 3. **...

    三级联动数据库应用实例

    这种效果通常用于下拉菜单或者选择框,当用户在一级菜单中做出选择时,二级菜单会动态更新,接着选择二级菜单后,三级菜单也会相应地动态加载数据,提供用户更加直观便捷的交互体验。 【描述】中的"一个简单的web...

    几行代码的二级联动和类似goolge的输入下拉提示

    在IT行业中,二级联动是一种常见的前端交互设计,它通常出现在如选择省份后自动填充城市的下拉菜单中。这种功能能够提升用户体验,减少用户输入错误,提高数据录入的效率。而"类似Google的输入下拉提示"则是指搜索...

Global site tag (gtag.js) - Google Analytics