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;

时间: 2024-10-30 23:16:40

DWR(四):创建器的相关文章

Android(Lollipop/5.0) Material Design(四) 创建列表和卡片

Material Design系列 Android(Lollipop/5.0)Material Design(一) 简单介绍 Android(Lollipop/5.0)Material Design(二) 入门指南 Android(Lollipop/5.0)Material Design(三) 使用Material主题 Android(Lollipop/5.0)Material Design(四) 创建列表和卡片 Android(Lollipop/5.0)Material Design(五) 定

DevExpress XtraReports 入门四 创建 Web 报表

原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这样浪费时间才写的这篇文章,高手不想的看请路过 本文内容来DevExpress XtraReports帮助文档,如看过类似的请略过. 废话少说 开始正事 一.创建 Web 报表并绑定数据  启动 MS Visual Studio (2005.2008.或 2010). 新建一个 ASP.NET Web

c#网络通信框架networkcomms内核解析之七 数据包创建器(PacketBuilder)

PacketBuilder 数据包创建器,用于辅助创建数据包. 程序把Tcp连接上收到的二进制数据暂时存储在 packetBuilder中,如果收到的数据足够多,程序会把数据包包头解析出来,并根据数据包包头中的数据,解析出数据包大小,根据数据包大小,从PacketBuilder中截取相应的二进制数据,把这部分数据以内存流(MemoryStream)的形式,加上数据包包头一起交给NetworkComms.CompleteIncomingItemTask()方法进行处理. PacketBuilder

【Unity】4.5 树木创建器

分类:Unity.C#.VS2015 创建日期:2016-04-11 一.简介 在地形编辑器一节中,已经告诉了你如何使用已经创建好的树来形成大片树林.这一节告诉你在 Unity 5.3.4中如何利用[树木创建器]一步一步地创建一棵树: 当你学会了创建树的基本操作后,你就可以根据自己的需要创建任意形状的树了: 二.导入Unity自带的Environment组件 如果你原来没有导入Unity自带的Environment组件,需要导入它: 办法是:鼠标右击工程视图下的Assets文件夹,选择Envir

《深入理解java虚拟机》学习笔记四/垃圾收集器GC学习/一

Grabage Collection      GC GC要完成的三件事情: 哪些内存需要回收? 什么时候回收? 如何回收? 内存运行时区域的各个部分中: 程序计数器.虚拟机栈.本地方法栈这3个区域随线程而生,随线程而灭. 栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈的操作. 每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的,因此, 这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需过多考虑回收的问题. 因为方法结束或者线程结束时,内存自然就跟着回收了. 而ja

Struts2 (四) — 拦截器

一.拦截器 1.概述 1.1什么是拦截器 ? 在struts2中,拦截器(Interceptor)是用来动态拦截Action执行的对象. ? 拦截器有点类似以前Servlet阶段的Filter(过滤器) , 能够在请求到达Action之前进行拦截操作, 可以在里面进行判断校验. 典型的例子: 登录拦截. 注:过滤器可以过滤servlet,jsp,html , 但拦截器只能拦截Action 1.2 struts2执行流程 ? 客户端请求Action,执行前端控制器,在前端控制器内部创建了Actio

Struts2(十四)拦截器实现权限管理

一.认识拦截器 拦截器也是一个类 拦截器可以在Action被调用之前和之后执行代码 框架很多核心功能是拦截器实现的 拦截器的特点: 拦截器自由组合,增强了灵活性.扩展性.有利于系统解耦 拦截器可以拦截Action请求 在访问的Action执行之前和执行之后执行代码实现某项功能 Struts2: 大部分功能是在拦截器中实现的如:接收输入的参数,数据验证,文件上传,国际化等 应用程序: 需要在Action执行的前后执行特定功能 Action执行时间统计,Action访问权限管理 Action添加功能

java之jvm学习笔记四(安全管理器)

前面已经简述了java的安全模型的两个组成部分(类装载器,class文件校验器),接下来学习的是java安全模型的另外一个重要组成部分安全管理器. 安全管理器是一个单独的对象,在java虚拟机中,它在访问控制-对于外部资源的访问控制-起到中枢作用 如果光看概念可能并不能很好的理解,或者说比较抽象,下面是ClassLoader其中的一个构造函数,先简单的看看它在初始化ClassLoader之前会做一些什么操作 [java] view plaincopy protected ClassLoader(

android动画具体解释四 创建动画

使用ValueAnimator进行动画 通过指定一些int, float或color等类型的值的集合.ValueAnimator 使你能够对这些类型的值进行动画.你需通过调用ValueAnimator 的某个工厂方法来获得一个ValueAnimator 对象.比方:ofInt(), ofFloat(), 或 ofObject().比如: ValueAnimator animation = ValueAnimator.ofFloat(0f, 1f); animation.setDuration(1