你直接在DWR调试里面,测试一下findUser()这个方法,看看会返回什么结果

解决方案 »

  1.   

    之前我是服务器端验证,是可以的.但是问题的关键好象是没有找到/dwr/interface/DWRUser.js,所以不能识别DWRUser.
    此外,请问如何在DWR调式?
      

  2.   

    <script   type='text/javascript'   src='/dwr/interface/DWRUser.js'> </script> 
    <script   type='text/javascript'   src='/dwr/engine.js'> </script>   
    <script   type='text/javascript'   src='/dwr/util.js'> </script>   
    这里比较疑惑,我的web项目中并没有dwr目录,是否这个目录和js文件是自动生成的,但是我的项目在执行后,也没有生成这些文件,这些文件在哪里找得到?还是说dwr在我的应用中根本没有起到作用.
      

  3.   

              if(data){         
              alert("y"); 
                        DWRUtil.setValue("userMsg","该用户名已经被注册,请更换您的用户名!");         
              }else{         
                        DWRUtil.setValue("userMsg","恭喜您,该用户名尚未被注册!");                     
              }  
           setValue()是什么方法
     ================
    你把上面的代码注释掉
    alert("t"); ---这个语句可以执行吗
      

  4.   

    <script       type='text/javascript'       src='/dwr/interface/DWRUser.js'>   </script>  
    放到
    <script       type='text/javascript'       src='/dwr/engine.js'>   </script>       
    <script       type='text/javascript'       src='/dwr/util.js'>   </script> 
    的后面看看,并且把src里dwr前面的/去掉
      

  5.   

    去掉/也不行啊,alert是可以调用的,我的web项目中并没有dwr目录,是否这个目录和js文件是自动生成的,但是我的项目在执行后,也没有生成这些文件,这些文件在哪里找得到?还是说dwr在我的应用中根本没有起到作用. 谁能解释下这个?
      

  6.   

    你的DWRUser里面的findUser方法没有暴露给DWR,加上<include method="findUser"/>看看
      

  7.   

    这个我也曾加过,不行啊,关键是连DWRUser都不能识别到,急啊,在线等!
      

  8.   

    localhost:8080/dwr/dwr看看暴露出了哪些方法。
      

  9.   

    http://localhost:8089/Mobie_SSH/dwr/执行后报了这个错:
    HTTP Status 404 - Servlet dwr-invoker is not available
      

  10.   

            <create creator="spring" javascript="DWRUser" >
             <param   name="beanName"   value="userService"/>
                <include method="findUser" /> 
            </create>在其中定义其引用的方法.
      

  11.   

    关于include是这样的,它暴露类中的public方法,如果不写include标记,默认public方法全部暴露,如果写include只暴露method指定的方法,这个我尝过了,问题不在这里,我连DWRUser都不能认到!
      

  12.   

    findUser方法如下:
    public List findUser(String id,String pwd){
    LOGGER.debug("根据id,pwd得到一个User对象");
    String hql = "from User user where user.userId='"+id+"' and user.userPwd='"+pwd+"'";
    try{
    return this.getHibernateTemplate().find(hql);
    }catch(Exception e){
    LOGGER.error("没能findUser(id,pwd)返回list。");
    e.printStackTrace();
    return new ArrayList();
    }
    }
      

  13.   

    dwr.xml为: 
    <allow>   
      <create creator="new" javascript="DWRUser">   
       <param name="class" value="com.mobie.service.impl.UserServiceImpl"/> 
       <include method="findUser"/> 
      </create>   
      <convert converter="bean" match="com.mobie.*"/>
     </allow>  
    http://localhost:8089/Mobie_SSH/dwr
    可以看到
    Classes known to DWR:
    DWRUser (com.mobie.service.impl.UserServiceImpl) 但dwr.xml改为
     <allow>   
      <create creator="spring" javascript="DWRUser">   
       <param name="beanName" value="userService"/> 
       <include method="findUser"/> 
      </create>   
      <convert converter="bean" match="com.mobie.*"/>
     </allow>  
    可以看到
    Classes known to DWR:
    DWRUser (com.mobie.service.impl.UserServiceImpl) 
    点DWRUser进入后提示http 501 未执行的错误,好象没找到方法.
      

  14.   

    http://localhost:8089/Mobie_SSH/dwr 提示http501未执行是什么意思?
      

  15.   

    这个问题搞定了,要调用spring中的bean id,需要web.xml中配一段监听. 如果只是解析简单的java类,可以不配置监听.
    <listener>   
           <listener-class>   
                 org.springframework.web.context.ContextLoaderListener    
           </listener-class>   
     </listener>
    <!--配置DWR拦截器-->   
     <servlet>   
      <servlet-name>dwr-invoker</servlet-name>   
      <servlet-class>uk.ltd.getahead.dwr.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>  
      

  16.   

    要把engine.js和util.js从JAR包中取出一份拷备,放在WEB目录中供页面单独引用