访问数据库的部分:
/* * 获取所有大类的类别列表 */ 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>