zoukankan      html  css  js  c++  java
  • DWR(四):创建器

    创造器的格式

     <create creator=". . ." javascript=". . ." scope=". . .">
              <param name=". . ." value=". . ."/>
              <auth role=". . ." method=". . ."/>
              <exclude method=". . ."/>
              <include method=". . ."/>
     </create>

     属性介绍:

    creator : 指定创建实例所使用的创建器;

    javascript : 指定Java对象创换成JavaScript后的对象名称;

    scope : 

    <exclude method=". . ."/> : 黑名单,暴露给JavaScript方法不包括 method=". . ."中的参数;

    <include method=". . ."/> : 白名单,暴露给JavaScript方法仅包括 method=". . ."中的参数;

     <create />标签的 creator 属性:指定创建实例所使用的创建器;

    Dwr默认情况下提供的创建器的类型

    --new :

     该创建器使用new关键字创建Java实例。   

    <create creator="new" javascript="AdminManager">
          <param name="class" value="com.devan.test.admin.AdminManager"/>
     </create>

    Dwr将是用无参的构造器创建com.devan.test.admin.AdminManager实例,并将实例暴露给客户端JavaScript代码。com.devan.test.admin.AdminManager实例转换成了名字为AdminManager的JavaScript对象。这样我们就可以是客户端调用com.devan.test.admin.AdminManager中的方法;

    --none :

    不创建任何对象。(该创建器本人没明白到底怎么使用)

    应用情况:

    ①:如果使用的对象不是来自当前的page.而是来自session或是application,这个对象可能已经存在了,那么无需再次创建各个对象。

    ②:如果别调用的Java方法是静态的方法,调用静态方法是无需创建对象实例的,所以此时也无创建对象。Dwr会在调用创建器之间检查一下这个方法是否是静态的。

    使用none创建器是,仍然需要<param.../>子元素,并且<param.../>子元素的class属性、value属性是不可缺少的,通过这两个属性来指定Dwr的操作对象的类型。

    --scripted  :

    使用脚本语言,如BeanShell或Groovy通过BSF(Bean Scripting Framework)创建实例;

    例如:(本人没搞明白)

    <!-- 使用BSF来创建Java实例 -->
        <create creator="script" javascript="EmailValidator">
           <!-- 指定动态语言的类型 -->
          <param name="language" value="beanshell"/>
          <!-- 指定Java对象的脚本 -->
          <param name="script">
              import org.apache.commons.validator.EmailValidator;
              return EmailValidator.getInstance();
          </param>
        </create>

     

    --spring :

    直接使用Spring容器中的Bean,用于Dwr与Spring的整合;

    --jsf :

    直接使用JSF容器中的Bean,用于Dwr与JSF的整合;

    --struts :

    直接使用struts容器中的Bean,用于Dwr与struts的整合;

    --pageflow :

    直接访问Weblogic或是Beenhive的PageFlow;

  • 相关阅读:
    论JS函数传参时:值传递与引用传递的区别
    关于 rem
    致——自己
    用CSS3写的钟表
    HTML标签marquee实现滚动效果
    手机号截取
    CSS3绘制环形进度条
    限制内容长度(CSS,jQuery)
    移动web开发中遇到的一些问题收纳
    移动平台中 meta 标签的使用
  • 原文地址:https://www.cnblogs.com/devan/p/5260920.html
Copyright © 2011-2022 走看看