`

dwr的二级列表级联

阅读更多
1.在页面中引入dwr的两个js文件
     <!-- 列表级联 -->
        <script type ="text/javascript" src='<%=basePath %>dwr/engine.js'></script>
        <script type="text/javascript" src='<%=basePath %>dwr/util.js'></script>
2.(表单)form的内容如下:
       <form action="person.do" method="post" onsubmit="return validate(this);">
            <tr>
<td class="tdEditLabel" > 机构:</td>
总:<select name="Org1" id="Org1" onchange="change1(this.value);">
                   <option>--请选择--</option>
                    <c:choose>
                       <c:when test="${empty list}">
                        
                       </c:when>
                       <c:otherwise>
                         <c:forEach items="${list}" var="l">
                           <option value="${l.id }">${l.description }</option>
                         </c:forEach>
                       </c:otherwise>
                    </c:choose>
                 </select>
               分: <select name="orgId" id="orgid">
                 </select>
               </td>
        </tr>
       </form>
3.web.xml配置文件必须配置dwr:
        <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>
4.编写查询数据库的实现类
package com.dywz.track.manager.impl;
import java.util.List;
import java.util.Map;
        //查询所有顶级机构(List)

public List Org1() {
String sql = "select * from t_orgnization where fid = ?";
List list = new ArrayList();
Connection con = null;
PreparedStatement pst = null;
ResultSet rst = null;

try{
con = DBConnectionPool.getConnection();
pst = con.prepareStatement(sql);
pst.setString(1, "0");
rst = pst.executeQuery();
while(rst.next()){
Orgnization org = new Orgnization();
org.setId(rst.getInt("id"));
org.setDescription(rst.getString("description"));
org.setFid(rst.getInt("fid"));
list.add(org);
}

}catch(Exception e){
e.printStackTrace();
}finally{
DBConnectionPool.close(rst);
DBConnectionPool.close(pst);
DBConnectionPool.close(con);
}
return list;
}
    //查询所有顶级机构的下属机构(Map)
public Map Org2(final int fid) {
String sql = "select * from t_orgnization where fid = ? ";
Map map = new HashMap();

Connection conn = null;
PreparedStatement pst = null;
ResultSet rst = null;
try{
conn = DBConnectionPool.getConnection();
pst = conn.prepareStatement(sql);
    pst.setInt(1, fid);
    rst = pst.executeQuery();
    while(rst.next()){
   
    Orgnization org = new Orgnization();
    org.setId(rst.getInt("id"));
    org.setDescription(rst.getString("description"));
    map.put(org.getId(), org.getDescription());
    }

}catch(Exception e){
e.printStackTrace();
}finally{
DBConnectionPool.close(rst);
DBConnectionPool.close(pst);
DBConnectionPool.close(conn);
}

return map;
}
5.在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="TT">
      <param name="class" value="com.dywz.track.manager.impl.OrgManagerImpl"/>
    </create>
   
  </allow>
</dwr>
6.在页面配置javascript:
    
<script type="text/javascript">
    function change1(dd){
 
    DWRUtil.removeAllOptions("orgId");
      TT.Org2(dd,callback);
    }
    function callback(data){
    
     DWRUtil.addOptions("orgId",["--请选择--"]);//让第2个下拉框显示“--请选择--”
  DWRUtil.addOptions("orgId",data);  
  }
</script>
分享到:
评论
1 楼 化蝶自在飞 2010-05-28  
一如既往的负责 ^ 

相关推荐

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

    本篇文章将深入探讨如何利用DWR来实现一个两级级联菜单,并以SQL Server 2000数据库作为数据源。 首先,我们需要理解DWR的基本工作原理。DWR允许在后台执行Java方法并返回结果到前端,无需刷新整个页面。这种技术...

    SSH+dwr实现三级级联

    在这个场景中,“SSH + dwr 实现三级级联”指的是使用SSH框架与DWR技术结合,来实现前端页面中的多级联动下拉框功能。 首先,让我们详细了解一下SSH框架: 1. **Struts**:这是一个基于MVC(Model-View-Controller...

    ssh+dwr(实现3级联)

    当用户在一级下拉框中选择后,前端通过DWR调用Service层的方法获取对应的二级数据,更新二级下拉框;同理,选择二级后更新三级下拉框。 6. **测试与优化**:在浏览器中运行项目,测试各个级别联动是否正常工作。...

    dwr省市区三级级联

    标题 "dwr省市区三级级联" 涉及到的是一个前端开发中的常见问题,即如何实现省市区的三级联动效果。这个标题暗示我们这是一个使用Direct Web Remoting (DWR) 技术来实现的功能,它允许JavaScript与服务器端Java代码...

    DWR+hibernate+spring级联下拉列表框

    6. **事件处理**:在 JavaScript 中,监听第一个下拉列表框的 `onchange` 事件,当选择的部门发生变化时,调用 DWR 接口获取新的员工列表,并更新第二个下拉列表框。 7. **安全与优化**:确保 DWR 接口的安全性,...

    级联菜单 java+dwr

    4. 当用户选择一级菜单时,通过Ajax调用DWR暴露的Java方法,获取相应的二级菜单数据。 5. 使用获取的数据动态更新HTML,显示二级菜单。 6. 如有必要,可以继续扩展为三级或更多级的级联效果。 总的来说,这个项目...

    ajaxdwr select二级联动

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

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

    DWR允许我们通过JavaScript在客户端动态更新下拉菜单选项,当用户在一个菜单中做出选择时,根据选择的值,DWR会自动向服务器发送请求,获取并填充后续级联菜单的内容。这一过程无需用户手动刷新页面,提高了用户体验...

    dwr实现聊天室+级连+搜索提示

    在这个“dwr实现聊天室+级连+搜索提示”的项目中,我们将探讨以下几个关键知识点: 1. **DWR聊天室实现**: 聊天室的实现通常涉及客户端和服务器端的实时数据交换。DWR通过创建JavaScript对象(Callee)来映射...

    DWR实现的三级联动链表的例子

    当选择改变时,调用`getLevel2Categories()`并传入选择的一级分类ID,得到的二级分类列表更新到二级下拉框。同样,二级选择事件会触发`getLevel3Categories()`,更新三级下拉框。 4. **HTML结构**:确保每个下拉框...

    dwr+struts 三级菜单

    项目中的"dwrt+struts三级级联菜单"可能包含了以下文件: - `struts-config.xml`: Struts框架的配置文件,定义了Action和ActionForm。 - `dwr.xml`: DWR的配置文件,声明了允许JavaScript调用的Java方法。 - Java...

    struts2+dwr整合实例

    6. **级联下拉框实现**: 通过监听第一个下拉框的改变事件,DWR实时更新第二个下拉框的内容,实现级联效果。 7. **数据绑定**: 在DWR中,可以将服务器端的数据直接绑定到JavaScript对象,然后在页面上动态更新UI。 ...

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

    在本文中,我们将探讨如何使用纯JSP和Direct Web Remoting (DWR) 实现一个三级联动下拉选择菜单的示例。这个技术通常用于在Web应用中创建动态交互的用户体验,例如根据用户在一个下拉菜单中的选择更新其他下拉菜单的...

    Ext 开发指南 学习资料

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据的...

    开发Ajax总结

    - **按需取数据**:如级联菜单,根据用户的前一步选择动态加载后续选项。 - **读取外部数据**:例如,从第三方API获取数据并在页面上显示。 #### 二、发送请求及处理响应 ##### 2.1 GET请求 GET请求是最常见的...

    EXT2.0中文教程

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据的...

Global site tag (gtag.js) - Google Analytics