DWR2整合SPRIN1.2.8,HIBERNATE3实现下拉联动

    技术2022-05-11  86

    DWR2整合SPRIN1.2.8,HIBERNATE3实现下拉联动

    1.下载DWR2,把dwr.jar拷贝到工程的lib目录下

    以下按步骤看...

    /** *Feb 23, 2007 * Zhou JianGuo * 小白 * 中国电信上海技术研究院 * MSN:zhuojianguo_leo@hotmail.com */

    Web.xml

       <!-- AJAX DWR2 -->   <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>          <init-param>        <param-name>pollAndCometEnabled</param-name>        <param-value>true</param-value>     </init-param>     <init-param>        <param-name>allowGetForSafariButMakeForgeryEasier</param-name>       <param-value>true</param-value>     </init-param>        <load-on-startup>1</load-on-startup>      </servlet>     <!-- Ajax DWR2拦截 -->    <servlet-mapping>          <servlet-name>dwr-invoker</servlet-name>          <url-pattern>/dwr/*</url-pattern>      </servlet-mapping>    

    dwr.xml

    <?xml version="1.0" encoding="UTF-8"?>  <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">  <dwr>      <allow>      <!-- 联动菜单-->    <create creator="spring" javascript="SelectDAO">      <param name="beanName" value="selectDAO"/>      <param name="location1" value="../applicationContext/select.xml"></param>      <param name="location2" value="../applicationContext/applicationContext.xml"></param>    </create>

        </allow></dwr>

    select.xml

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans> <!-- select --> <bean id="selectDAO" class="com.procedure.util.select.SelectDAO" >  <property name="selectServiceImpl">   <ref bean="SelectServiceImpl" />  </property> </bean> <bean id="SelectServiceImpl" parent="baseTransactionProxy">  <property name="target">   <ref local="SelectServiceImplTarget" />  </property> </bean>

     <bean id="SelectServiceImplTarget" class="com.procedure.org.framework.service.select.SelectServiceImpl">  <property name="commonDAO">   <ref bean="commonDAO" />  </property>  </bean></beans>

    applicationContext.xml是主要的事务管理什么的,不贴了

    SelectDAO.java

    /** *Feb 27, 2007 * Zhou JianGuo * 小白 * 中国电信上海技术研究院 * MSN:zhuojianguo_leo@hotmail.com */package com.procedure.util.select;

    import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;

    import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.hibernate.Session;import org.hibernate.Transaction;

    import com.procedure.hibernate.SessionFactory.HibernateSessionFactory;import com.procedure.hibernate.oracle10.getHibernateTemplate.model.VideoArea;import com.procedure.org.framework.service.select.SelectService;

    /** *Feb 27, 2007 * Zhou JianGuo * 小白 * 中国电信上海技术研究院 * MSN:zhuojianguo_leo@hotmail.com */public class SelectDAO {

     /**  *   */ public SelectDAO() {  // TODO Auto-generated constructor stub } /*   * 获取所有大类的类别列表   */      /**  *Feb 20, 2007  * Zhou JianGuo  * 小白  * 中国电信上海技术研究院  * MSN:zhuojianguo_leo@hotmail.com  */ SelectService selectServiceImpl;

     VideoArea VideoArea=new VideoArea(); protected final Log logger = LogFactory.getLog(getClass().getName()); public Map getBigType() {   Map map = new HashMap();   List list = new ArrayList();   String queryString="from VideoArea where childid is null";   list=selectServiceImpl.getBigType(queryString);     for(int i=0;i<list.size();i++){                      //---------这里只能采用这种形式,呵呵,为什么??请去看DWR的文档吧       map.put(((VideoArea)list.get(i)).getFatherid(),((VideoArea)list.get(i)).getFathername());      }   return map; } public Map getSmallType(String data) {   Map map = new HashMap();   List list = new ArrayList();   String queryString="from VideoArea where fatherid = ? and childid is not null";   list=selectServiceImpl.getSmallType(queryString,data);   System.out.println("list="+list);     for(int i=0;i<list.size();i++){      map.put(((VideoArea)list.get(i)).getChildid(),((VideoArea)list.get(i)).getChildname());      }   return map; }

     /**  * @return the selectServiceImpl  */ public SelectService getSelectServiceImpl() {  return selectServiceImpl; }

     /**  * @param selectServiceImpl the selectServiceImpl to set  */ public void setSelectServiceImpl(SelectService selectServiceImpl) {  this.selectServiceImpl = selectServiceImpl; }}

    SelectService.java

    /** *Nov 8, 2006 * Zhou JianGuo * 小白 * MSN:zhuojianguo_leo@hotmail.com */package com.procedure.org.framework.service.select;

    import java.util.List;

     

    /** *Nov 8, 2006 * Zhou JianGuo * 小白 * MSN:zhuojianguo_leo@hotmail.com */public interface SelectService{ /**  * Make the given instance managed and persistent.  */ public List getBigType(String queryString); public List getSmallType(String queryString,String params);}

    SelectServiceImpl.java

    /** *Nov 8, 2006 * Zhou JianGuo * 小白 * MSN:zhuojianguo_leo@hotmail.com */package com.procedure.org.framework.service.select;

    import java.util.List;

    import org.springframework.context.ApplicationContext;

    import com.procedure.hibernate.oracle10.getHibernateTemplate.model.VideoArea;import com.procedure.org.framework.dao.ICommonDAO;import com.procedure.org.framework.service.BaseServiceImpl;

    /** *Nov 8, 2006 * Zhou JianGuo * 小白 * MSN:zhuojianguo_leo@hotmail.com */public class SelectServiceImpl implements SelectService{

     /**  *   */ public SelectServiceImpl() {  // TODO Auto-generated constructor stub } private ICommonDAO commonDAO; /**  * The service Spring bean id, used in the applicationContext.xml file.  */ private static final String SERVICE_BEAN_ID = "SelectServiceImpl";

     /**  * Returns the singleton <code>IProcedureService</code> instance.  */ public static ICommonDAO getInstance(ApplicationContext context) {  return (ICommonDAO)context.getBean(SERVICE_BEAN_ID); } /**  * @return the commonDAO  */ public ICommonDAO getCommonDAO() {  return commonDAO; } /**  * @param commonDAO the commonDAO to set  */ public void setCommonDAO(ICommonDAO commonDAO) {  this.commonDAO = commonDAO; } public List getBigType(String queryString) {  // TODO Auto-generated method stub  return (List)this.getCommonDAO().getSelect(queryString); } public List getSmallType(String queryString,String params) {  // TODO Auto-generated method stub  return (List)this.getCommonDAO().getSelect(queryString,params); }

     

    }

    页面上的

      <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/SelectDAO.js'> </script>  <script type='text/javascript' src="<%=JS_PATH%>/select.js"></script>

    select.js代码

    /*--------------------------------------------------|| Zhou jianguo                                      ||---------------------------------------------------|| Copyright (c) 2007-2008 ChinaTelecom              ||                                                   || Updated: 25.02.2007                               ||--------------------------------------------------*/function loadSelect(){    SelectDAO.getBigType(createSelect);}function createSelect(data){   var big = document.getElementById("cpycde");   var small = document.getElementById("orgcde");    DWRUtil.removeAllOptions("cpycde");    DWRUtil.removeAllOptions("orgcde");    DWRUtil.addOptions("cpycde",{0:'选择地区'});//----------设置一个初始化的下拉列表内容    DWRUtil.addOptions("orgcde",{0:'选择区县'});    big.options[0].selected=true;    small.options[0].selected=true;    DWRUtil.addOptions("cpycde", data);}function selectASmallcategories(data){var small = document.getElementById("orgcde");var smallcategories=dwr.util.getValue("orgcde");   small.length=1;    small.options[0].selected=true;  if(data == "0"){    DWRUtil.removeAllOptions("orgcde");     DWRUtil.addOptions("orgcde",{0:'选择区县'});    small.length=1;     small.options[0].selected=true;      }else  {    DWRUtil.removeAllOptions("orgcde");   DWRUtil.addOptions("orgcde",{0:'选择区县'});   SelectDAO.getSmallType(data,getASmallInfo);//这里被调用的方法要放后面,要传递的参数放前面  } }function getASmallInfo(data){   DWRUtil.addOptions("orgcde",data); }

    页面上的

      <TR class=common>     <TD class=title>录入时间: </TD>    <TD class=input><html:text property="datime" styleClass="common" maxlength="20" readonly="true" />*</TD>    <TD class=title>地区码: </TD>    <TD class=input><html:select property="cpycde" styleClass="common" οnchange="selectASmallcategories(this.value)">                    </html:select>    </TD>    <TD class=title>区县码: </TD>    <TD class=input><html:select property="orgcde" styleClass="common">                    </html:select> </TD>  </TR>

    有什么问题可以联系我,嘻嘻~~


    最新回复(0)