• DWR的注意事项【转】


    DWR现在比较火,不少朋友用它来开发项目,虽然它以配置简单和功能强大著称,当然事实也的确如此.但是一些初学者还是会犯一些错误,这里简单列举了一些经常遇到的问题!

    1.在dwr.xml中类型转换时,既<convert converter="bean" match="your.full.package.BeanName"/>

    转换的Bean必须符合JavaBeans的规范,属性要符合一个条件:有getter和setter,setter应该返回void,没有重载。getter应该没有任何参数。如果你想直接取对象的成员,那么你应该用object。

    2.在dwr.xml的create中通过BSF使用脚本语言创建对象:

     <create creator="script" javascript="EmailValidator">
    
        <param name="language" value="beanshell"/>
    
        <param name="script">
    
          import org.apache.commons.validator.EmailValidator;
    
          return EmailValidator.getInstance();
    
        </param>
    
      </create>

    要使用这个创造器,需要把一些辅助库放到WEB-INF/lib文件夹下:BSF的jar包和你用到的语言的jar包。

    如(bsf.jar,jdom.jar)

    3.在java中支持函数的重载,而javascript是不支持重载,所以在DWR用到的java类中尽量不要重载,还有,java类名和方法名不能出现java和javascript的保留关键字,虽然多数Javascript的关键字和Java是相同的,但是还有一些不一样(如delete),一定要注意。

    4.在web.xml中配置DWR时,如果是有多个dwr.xml文件,在下面的配置时:

    <init-param>
    
    <param-name>config-user</param-name>
    
    <param-value>WEB-INF/dwr-user.xml</param-value>
    
    </init-param>

    param-name的值必须是唯一的,这点不说大家也知道,值得一提的是它必须是以config开头。

    5.配置完dwr.xml,要测试函数时,修改web.xml,加上红色字体的部分:

    <servlet>
    
       <servlet-name>dwr-invoker</servlet-name>
    
       <display-name>DWR Servlet</display-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>

    这样,在http://localhost:8080/[YOUR-WEBAPP]/dwr/ 可以看到在dwr.xml中create过的类的javascript名称,接着往里点,你会看到所有可以调用的方法列表。这个页面是动态生成用来测试的例子。但是要注意的是,在正式环境中是不允许这样公开暴露的,所以应该把debuy设置为false,还好系统默认的就是false。

  • 相关阅读:
    Rocket
    Rocket
    Rocket
    Rocket
    Scala
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
  • 原文地址:https://www.cnblogs.com/macula/p/2881041.html
Copyright © 2020-2023  润新知