dwr和spring整合时出的问题,请问有谁知道这是怎么回事呢? 
具体代码如下: 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>   
        <!-- 用户信息 -->   
        <convert converter="bean   
            match="com.tw.pojo.UserBean">   
        </convert>   
        <!-- 组织信息 -->   
        <convert converter="bean"  
            match="com.tw.pojo.OrgBean">   
        </convert>   
           
           
        <!-- 用户DWR调用定义 -->   
        <create creator="spring" javascript="DWRUserDao">   
            <param name="beanName" value="userDao"/>   
        </create>   
        <!-- 组织DWR调用定义 -->   
        <create creator="spring" javascript="DWROrgDao">   
            <param name="beanName" value="orgDao"/>   
        </create>   
       
    </allow>   
</dwr>  UserDaoImpl.java public List getUserListInfo(String orgid) {   
        Map map = new HashMap();   
        map.put("orgid", orgid);   
        try {   
            List list = (List) this.getSqlMapClientTemplate().queryForList(   
                    "getUserListInfo", map);   
            if (list != null) {   
                return list;   
            }   
        } catch (Exception e) {   
            log.error("获取指定组织的所有直用户getUserListInfo:", e);   
            e.printStackTrace();   
        }   
        return null;   
    }     applicationContext.xml <!-- 数据库公共DAO -->   
    <bean id="baseDao" class="com.tw.framework.base.db.BaseDaoOracle"  
        scope="prototype">   
    </bean>   
  
    <!-- 用户角色信息 -->   
    <bean id="userDao" class="com.tw.dao.impl.UserDaoImpl" scope="prototype">   
        <property name="baseDao" ref="baseDao" />   
    </bean>   
  
    <!-- 组织信息 -->   
    <bean id="orgDao" class="com.tw.dao.impl.OrgDaoImpl" scope="prototype">   
        <property name="baseDao" ref="baseDao" />   
    </bean>  jsp代码 <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/DWRUserDao.js'></script>   
        <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/DWROrgDao.js'></script>   
        <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script>   
        <script type='text/javascript' src='<%=request.getContextPath()%>/dwr/util.js'></script>     
        <script language="javascript">   
        //初始化页面中各控制的值   
        javascript:dwr.engine.setAsync(false);   
        function loadControls()   
        {   
            loadSelectAreaList();   
        }   
           
        //Load所有公司信息,并将之设置到公司列表控制   
        function loadSelectAreaList()   
        {   
            document.all.ddlArea.length = 1;   
            //设置公司列表控制   
            DWROrgDao.getCompanyList(true,function(list){   
             for(var i=0;i<list.length;i++)   
              {   
                 var li = document.createElement("OPTION");   
                 li.text = list[i].orgName;   
                 li.value = list[i].parentOrgId;   
                 document.all.ddlArea.options.add(li);       
              }   
            });   
        }   
</script>  

解决方案 »

  1.   

    可是运行的时候控制台报错 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: sqlMapClient is required
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880)
    at org.directwebremoting.spring.SpringCreator.getInstance(SpringCreator.java:144)
    at org.directwebremoting.spring.SpringCreator.getType(SpringCreator.java:106)
    at org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:118)
    at org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:100)
    at org.directwebremoting.impl.DwrXmlConfigurator.loadCreate(DwrXmlConfigurator.java:274)
    at org.directwebremoting.impl.DwrXmlConfigurator.loadAllows(DwrXmlConfigurator.java:224)
    at org.directwebremoting.impl.DwrXmlConfigurator.configure(DwrXmlConfigurator.java:170)
    at org.directwebremoting.impl.ContainerUtil.configureFromDefaultDwrXml(ContainerUtil.java:264)
    at org.directwebremoting.impl.ContainerUtil.configureContainerFully(ContainerUtil.java:421)
    at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:79)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.IllegalArgumentException: sqlMapClient is required
    at org.springframework.orm.ibatis.SqlMapClientTemplate.afterPropertiesSet(SqlMapClientTemplate.java:144)
    at org.springframework.orm.ibatis.support.SqlMapClientDaoSupport.checkDaoConfig(SqlMapClientDaoSupport.java:104)
    at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
    ... 30 more
    2011-08-12 11:43:29 org.directwebremoting.util.CommonsLoggingOutput.error(CommonsLoggingOutput.java:83) [ERROR] Error loading class for creator 'SpringCreator[DWROrgDao]'.
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orgDao' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: sqlMapClient is required
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:283)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:880)
    at org.directwebremoting.spring.SpringCreator.getInstance(SpringCreator.java:144)
    at org.directwebremoting.spring.SpringCreator.getType(SpringCreator.java:106)
    at org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:118)
    at org.directwebremoting.impl.DefaultCreatorManager.addCreator(DefaultCreatorManager.java:100)
    at org.directwebremoting.impl.DwrXmlConfigurator.loadCreate(DwrXmlConfigurator.java:274)
    at org.directwebremoting.impl.DwrXmlConfigurator.loadAllows(DwrXmlConfigurator.java:224)
    at org.directwebremoting.impl.DwrXmlConfigurator.configure(DwrXmlConfigurator.java:170)
    at org.directwebremoting.impl.ContainerUtil.configureFromDefaultDwrXml(ContainerUtil.java:264)
    at org.directwebremoting.impl.ContainerUtil.configureContainerFully(ContainerUtil.java:421)
    at org.directwebremoting.servlet.DwrServlet.init(DwrServlet.java:79)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.IllegalArgumentException: sqlMapClient is required
    at org.springframework.orm.ibatis.SqlMapClientTemplate.afterPropertiesSet(SqlMapClientTemplate.java:144)
    at org.springframework.orm.ibatis.support.SqlMapClientDaoSupport.checkDaoConfig(SqlMapClientDaoSupport.java:104)
    at org.springframework.dao.support.DaoSupport.afterPropertiesSet(DaoSupport.java:44)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
    ... 30 more
      

  2.   

    baseDao userDao都没有配置
    sqlMapClient 请问你的ibatis怎么执行?怎么调用? 自己查一下spring 整合ibatis怎么配置吧
      

  3.   


    请问要怎么配置baseDao userDao呢?
      

  4.   

    你的ibatis和spring还没有整合,在spring的配置文件中进行配置就好了,很好配的,到google去找吧
      

  5.   

    你是不是没有把sqlMapClient注入进去。。没看到配置文件里面有注入sqlMapClient。