`

DWR级联下拉列表

    博客分类:
  • Ajax
阅读更多
访问数据库的部分:


/*
  * 获取所有大类的类别列表
  */
public static Map getAccessoriesBigTypeInfoMap(){
  
  Map map = new HashMap();
  List list = new ArrayList();
  Session session = SessionFactory.currentSession();
  Transaction tx = session.beginTransaction();
  
  try {
   
   list = session.createQuery("from AccessoriesTypeInfo where UPID is null or UPID = 0").list();
   for(int i=0;i<list.size();i++){
            
      //---------这里只能采用这种形式,呵呵,为什么??请去看DWR的文档吧
    map.put(((AccessoriesTypeInfo)list.get(i)).getId(),((AccessoriesTypeInfo)list.get(i)).getTypename());
   }
   tx.commit();
  } catch (Exception e) {
   log.error("AccessoriesTypeInfoDAO.getAccessoriesBigTypeInfoList() failed!!!"+e.getMessage());
   if(tx != null) tx.rollback();
  }finally{
   if(session != null) session.close();
  }
  return map;
 }

/*
  * 获取指定大类下的小类类别列表
  *String upid:大类ID
  */
public static Map getAccessoriesSmallTypeInfoMap(String upid){
  
  Map map = new HashMap();
  List list = new ArrayList();
  Session session = SessionFactory.currentSession();
  Transaction tx = session.beginTransaction();
  
  try {
   
   int id = Integer.parseInt(upid);
   list = session.createSQLQuery("select {t.*} from AccessoriesTypeInfo t where t.UPID = ?").addEntity("t",AccessoriesTypeInfo.class).setInteger(0,id).list();
   for(int i=0;i<list.size();i++){
    map.put(((AccessoriesTypeInfo)list.get(i)).getId(),((AccessoriesTypeInfo)list.get(i)).getTypename());
   }
   tx.commit();
  } catch (Exception e) {
   log.error("AccessoriesTypeInfoDAO.getAccessoriesBigTypeInfoList() failed!!!"+e.getMessage());
   if(tx != null) tx.rollback();
  }finally{
   if(session != null) session.close();
  }
  return map;
 }


信息显示页:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.List"%> 

<script type='text/javascript' src='/qcbst/dwr/interface/JDate.js'></script>
 <script type='text/javascript' src='/qcbst/dwr/engine.js'></script>
 <script type='text/javascript' src='/qcbst/dwr/util.js'></script>
 <script type='text/javascript' src='/qcbst/dwr/interface/AccessoriesType.js'></script>
<script type="text/javascript" src="../../js/clearspace.js"></script>
<script language="javascript"> 

 function selectAorigin(o){
  
     var big = document.getElementById("bigcategories");
   var small = document.getElementById("smallcategories");
   big.length=1;
   small.length=1;   
   big.options[0].selected=true;
   small.options[0].selected=true;
   if(o == "0"){
  
  DWRUtil.removeAllOptions("bigcategories");   //----------移除下拉列表中的内容
  DWRUtil.removeAllOptions("smallcategories");
  DWRUtil.addOptions("bigcategories",{0:'选择大类'});//----------设置一个初始化的下拉列表内容
  DWRUtil.addOptions("smallcategories",{0:'选择小类'});
     big.length=1;
    small.length=1;   
    big.options[0].selected=true;
    small.options[0].selected=true;
   }else{
         
      //-----------将AccessoriesType.getAccessoriesBigTypeInfoMap()取得的信息给getABigInfo()
   AccessoriesType.getAccessoriesBigTypeInfoMap(getABigInfo);
  }
 }
 function getABigInfo(d){
  
  DWRUtil.addOptions("bigcategories",d);
 }
 
 
 function selectAbigcategories(brand){ 

   var small = document.getElementById("smallcategories");
   small.length=1; 
   small.options[0].selected=true;
  if(brand == "0"){
  
  small.length=1; 
   small.options[0].selected=true;
  }
  AccessoriesType.getAccessoriesSmallTypeInfoMap(getASmallInfo,brand);
 }
 function getASmallInfo(d){
 
  DWRUtil.addOptions("smallcategories",d);
 }
 
 function clearAInfo(){
  document.getElementById("accessoriesname").value="";
 }
 </script>
<form id="form1" name="form1" method="post" action="/qcbst/v_viewaccessoriesinfosearch1" style="0 0 0 0" target="_top">
                <table width="150" border="0" cellspacing="5" cellpadding="0">
                  <tr>
                    <td height="30" align="center"><span class="STYLE1">请在下边进行精确搜索</span></td>
                  </tr>
                  <tr>
                    <td align="center"><select name="aarea" onChange="selectAorigin(this.value)">
                        <option value="0" selected>选择区域</option>
                        <option value="国产">国产</option>
                        <OPTION value="进口">进口</OPTION>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td align="center"><select name="bigcategories" onChange="selectAbigcategories(this.value)">
                        <option value="0" selected>选择大类</option>
                        
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td align="center"><select name="smallcategories">
                        <option value="0" selected>选择小类</option>
                      </select>
                    </td>
                  </tr>
                  <tr>
                    <td align="center"><input name="accessoriesname" type="text" value="    配件名称" size="15" onFocus="clearAInfo()" /></td>
                  </tr>
                  <tr>
                    <td align="center"><input type="submit" name="Submit" value="开始精确查找" /></td>
                  </tr>
                </table>
            </form>


WEB-INF下的DWR.XML:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" " http://www.getahead.ltd.uk/dwr/dwr10.dtd "> 
<dwr> 
<allow> 
<create creator="new" javascript="AccessoriesType"> 
<param name="class" value="com.lvke.web.qcbst.dao.automobile.AccessoriesTypeInfoDAO"/> 
</create> 
</allow> 
</dwr>

原文出处:http://www.blogjava.net
分享到:
评论

相关推荐

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

    总结,DWR、Hibernate 和 Spring 结合使用可以方便地实现级联下拉列表框,提供流畅的用户体验。通过 DWR 实现前后端的实时通信,利用 Hibernate 进行数据操作,借助 Spring 管理业务逻辑和数据访问,从而构建出高效...

    DWR级联菜单下拉框

    **DWR级联菜单下拉框** DWR(Direct Web Remoting)是一个开源JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,而无需使用传统的页面刷新。在这个项目中,我们关注的是如何利用DWR实现一个三级...

    dwr的小小运用实现下拉列表

    在"**dwr的小小运用实现下拉列表**"这个主题中,我们关注的是如何利用DWR来创建和更新页面上的级联下拉列表。级联下拉通常用于需要关联数据的情况,例如国家/地区和城市的选择,其中选择一个国家后,下拉列表会自动...

    使用DWR框架处理下拉列表的级联

    这个demo演示了使用DWR框架配合数据库来做的下拉列表级联。dao层采用了jsp中经典的JDBC封装、单例、属性文件等技术。数据文件可以按照我的entity层里面写的代码创建就可以了。这个文件直接导入你的工程在属性文件中...

    dwr例子演示级联菜单

    这个例子“dwr例子演示级联菜单”旨在帮助我们理解如何使用DWR来创建动态的、交互式的级联下拉菜单。级联菜单常用于Web应用程序中,例如在选择国家时自动更新相应的省份列表。 首先,让我们了解一下DWR的基本工作...

    DWR 联动下拉菜单基本应用

    在本例中,我们将讨论如何利用DWR2版本创建一个联动下拉菜单,这是一种常见的级联选择功能,常见于数据输入表单中,如地址选择,省-市-区的逐级筛选。 首先,我们需要在服务器端设置DWR引擎。这包括创建一个`dwr....

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

    在这个特定的场景中,我们利用Ajax技术和Direct Web Remoting(DWR)框架来创建一个动态的省份城市级联菜单。这个功能能够提升用户体验,因为它减少了用户手动刷新页面的需求,提供了流畅的交互。 首先,我们需要...

    java省市级联下拉菜单实例代码

    在Java Web开发中,省市级联下拉菜单是一种常见的需求,它允许用户在选择省份后自动更新城市下拉菜单,展示对应省份的城市列表。这个实例代码主要涉及的技术点包括Servlet、JSON处理以及简单的数据模拟。 1. **...

    DWR AJAX 简单示例

    在"**DWR AJAX 简单示例**"中,我们通常会看到一个常见的应用场景,即级联下拉菜单。级联下拉菜单通常用于多级关联的数据选择,例如,选择国家后,相应的省份列表会动态加载;选择省份后,城市列表也会随之更新。...

    dwr资源的jar包

    dwr是一组可复用并且结合得很好的Java/JavaScript包.它通过AJAX来轻松转变你web应用程序的交互方式.它带的一些组件包括可以自动补全的文本框架,动态级联下拉列表,动态表单等

    Struts_Hibernate_Dwr框架整合省份菜单级联

    7. **前端页面**:使用HTML和JavaScript创建省份和城市的选择下拉菜单,通过DWR异步调用服务端的方法,动态填充城市列表。 8. **Struts Action处理**:在Struts Action中调用Service方法,处理用户的省份选择,返回...

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

    在这个项目中,“级联”可能指的是下拉列表的选择联动效果,即一个下拉框的选择会影响到另一个下拉框的选项。这可以通过DWR的事件监听和回调机制实现。当用户在一个下拉框中选择一个值时,DWR可以自动调用服务器端...

    struts2+dwr整合实例

    在实现级联下拉框时,通常需要两个或更多的下拉列表,它们之间有依赖关系。例如,一个下拉框选择国家,另一个下拉框根据所选国家显示对应的省份。当用户在第一个下拉框中做出选择时,DWR会实时更新第二个下拉框的...

    用hibernate做的省市县三级级联,

    在`reg.jsp`中,可能包含了HTML和JavaScript代码,用于显示下拉列表,并通过Ajax调用`DwrBiz.java`中的方法来动态更新下拉框。需要注意的是,由于描述中提到“省市县所有数据台湾省的数据不全面”,所以在实际部署时...

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

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

    DWR实现省市县三级联动小例子

    HTML元素如select或option将用于创建下拉列表,CSS用于美化这些元素。 5. **JSON数据格式**:在前后端通信中,数据通常以JSON格式传输,因为JSON轻量且易于解析。后端返回的省、市、县数据会被转换为JSON对象,供...

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

    在级联菜单的场景中,当用户选择一个省份时,DWR可以调用服务器端的Java方法获取该省份对应的市列表,并动态更新菜单。 接着,XML被用于存储省市级联菜单的数据。每个省、市都可以表示为XML文档中的一个节点,通过...

    北京中科信软AJAX培训

    实际应用方面,包括了实战技巧如数据校验、级联菜单、条目内容、级联下拉列表等,这些技巧可以在实现AJAX应用时提高效率和用户体验。还有异常处理机制、中文乱码问题及其解决方案等内容,这些都是在进行AJAX编程时...

    Java开源 AJAX框架

    它包含诸如自动完成文本框、动态级联下拉列表和动态表单等组件。 9. **AJAX-JSF Framework**:这个框架基于JSF并利用AJAX技术,用于开发轻量级客户端应用。它旨在与现有的JSF组件兼容,并遵循标准的JSF Web流程。 ...

    选择国家下拉选,在省份下拉选中填充所有这个国家的省,再选择省,在城市下拉选中填充所有该国家,该省的所有城市的三级联

    每当用户在一个下拉菜单中做出选择,我们都会触发DWR调用,获取并填充下一个下拉菜单。 在实际开发中,为了提高用户体验,我们还需要考虑一些优化策略,比如缓存最近的查询结果,避免不必要的数据库查询;或者使用...

Global site tag (gtag.js) - Google Analytics