`
jsupport
  • 浏览: 36783 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

dwr实现级联菜单

阅读更多
 

Dwr的介绍请见:http://www.blogjava.net/freeman1984/archive/2007/11/25/163010.html

本例将实现一个利用dwr实现的级联菜单处理:

首先建立两个实体类:Org(机构)Person(机构下的人员)

代码如下:

Org.java

package com.dwr;

publicclass Org {

    privateintid;

    private String name;

   

    publicint getId() {

       returnid;

    }

    publicvoid setId(int id) {

       this.id = id;

    }

    public String getName() {

       returnname;

    }

    publicvoid setName(String name) {

       this.name = name;

    }

}

Person.java

package com.dwr;

publicclass Person {

    privateintid;

    private String name;

   

    publicint getId() {

       returnid;

    }

    publicvoid setId(int id) {

       this.id = id;

    }

    public String getName() {

       returnname;

    }

    publicvoid setName(String name) {

       this.name = name;

    }

}

创建管理类:PersonManager用于初始化数据和返回数据

package com.dwr;

import java.util.ArrayList;

import java.util.Collection;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

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 personsList = new ArrayList();

           for(int j=0; j < 20; j++){

              Person person = new Person();

              person.setId(j);

              person.setName("org["+org.getName()+"]下的人员[人员"+j+"]");

              personsList.add(person);

           }

           persons.put(org.getId(), personsList);

       }

    }

    //返回所有机构

    public Collection searchAllOrg(){

       return orgs.values();

    }

    //返回某机构所有人员

    public List searchPersons(int orgId){

       return (List)persons.get(orgId);

    }

}

配置文件:

Web.xml中加入以下代码:

<servlet>

    <servlet-name>dwr-invoker</servlet-name>

    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

    <init-param>

      <param-name>debug</param-name>

      <param-value>true</param-value>

    </init-param>

 </servlet>

 <servlet-mapping>

    <servlet-name>dwr-invoker</servlet-name>

    <url-pattern>/dwr/*</url-pattern>

 </servlet-mapping>

添加dwr.xmlweb.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.dwr.PersonManager"/>

    </create>

    <convert converter="bean" match="com.dwr.Org"/>

    <convert converter="bean" match="com.dwr.Person"/>

 </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">

<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>

<title>Insert title here</title>

<script type="text/javascript">

function init(){

    personManager.searchAllOrg(

       function(data){

           //dataOrg对象的集合,id,name

           dwr.util.removeAllOptions("o");

           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>

请选择人员信息:<select id="p">

</select>

</body>

</html>

分享到:
评论

相关推荐

    dwr 实现 级联菜单 外加一本pdf的参考书

    通过一个小例子,让你明白级联菜单也就是这样的。。。 还有一本书pdf格式的,很实用! 希望能够帮到你们!

    dwr实现2级级联菜单(sql2000 数据库)

    dwr实现2级级联菜单dwr实现2级级联菜单dwr实现2级级联菜单dwr实现2级级联菜单dwr实现2级级联菜单dwr实现2级级联菜单dwr实现2级级联菜单dwr实现2级级联菜单dwr实现2级级联菜单

    Ajax级联菜单,通过dwr框架实现省份城市级联效果

    这是一个级联菜单,使用ajax技术,采用了dwr框架,选择省份,城市自动加载,以此类推,可以实现多种级联效果

    DWR级联菜单下拉框

    刚学dwr 自己写的三级联动下拉框 DWR版本 3.0 数据库 Ms SQL 2005 环境 Myeclipse 8.x 有问题联系 :Mr .陈 MSN czw30110@hotmail.com

    级联菜单 java+dwr

    用java和dwr框架实现一个简单的例子 级联菜单 数据库用sql2000 myesclipse

    dwr例子演示级联菜单

    dwr的例子。能够让你轻松了解dwr的使用方法。

    dwr+xml集成实现省市级联菜单

    采用dwr+xml+tomcat实现三级级联菜单,代码解压即可运行

    DWR AJAX 简单示例

    DWR AJAX 级联下拉菜单,动态调用远程方法

    DWR 联动下拉菜单基本应用

    用DWR实现AJAX的联动下拉列表,是DWR的基本操作,版本为DWR2

    Struts_Hibernate_Dwr框架整合省份菜单级联

    上传的资料都是非常经典的,这也是我学习过程中的心得,希望大家能给我指点,也希望大家多上传资料共同学习。千万不要传空文件夹。。。

    ajax的dwr框架简单示例视频

    现在流行的ajax视频教程,几个示例包括用户名验证,级联菜单,dwr框架的应用~是exe格式的

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

    今天我做了一个dwr+jsp做的例子。 web.xml: 代码如下: &lt;?xml version=”1.0″ encoding=”UTF-8″?&gt; &lt;web-app version=”2.4″ xmlns=”http://java.sun.com/xml/ns/j2ee” xmlns:xsi=”...

    北京中科信软AJAX培训

    实战技巧:级联菜单 实战技巧:条目内容 实战技巧:级联下拉列表 使用responseXML处理返回的XML信息 实战技巧:获取元对象数据 实战技巧:处理列表数据 实战技巧:处理级联的数据 实战技巧:保存更新数据 在普通文本...

    dwr验证框架多级联下拉菜单

    级联菜单 ; charset=gb2312"&gt; &lt;!-- body { margin-left: 0px; margin-top: 0px; background-image: url(Images/bg.gif); } .style1 {color: #FFFFFF} .style2 {color: #a2bcc5} --&gt; function ...

    用Java做的省市级联菜单

    在Java中使用dwr做的省市级联菜单的关键代码!

    Ext 开发指南 学习资料

    9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!邪魔外道与边缘学科。 10.1. dwr与ext整合 10.1.1. 无侵入式整合dwr和ext 10.1.2. DWRProxy 10.1.3. DWRTreeLoader 10.1.4...

    EXT教程EXT用大量的实例演示Ext实例

    9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!邪魔外道与边缘学科。 10.1. dwr与ext整合 10.1.1. 无侵入式整合dwr和ext 10.1.2. DWRProxy 10.1.3. DWRTreeLoader ...

    EXT2.0中文教程

    9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!邪魔外道与边缘学科。 10.1. dwr与ext整合 10.1.1. 无侵入式整合dwr和ext 10.1.2. DWRProxy 10.1.3. DWRTreeLoader 10.2...

Global site tag (gtag.js) - Google Analytics