`

dwr Bean Converters学习

    博客分类:
  • DWR
阅读更多
一种不能采用默认方式定义的converter就是Bean Converter,
这个是将POJO对象转换成javascript相关的数组,反向也一样.
基于安全因素的考虑这种类型的converter不能采用默认的方式实现.
假设有个bean并且通过<create ...>语句设置成远程可用,有种类型的参数他本身是一个带有setter的java bean,但setter会产生严重的隐患.攻击者可能促使这隐患的发生.通过下面的语句就可以设置但个类的bean converter
<convert converter="bean" match="your.full.package.BeanName"/>

要想允许转换指定包或子包下所有类的转换可以按照下面的设置
<convert converter="bean" match="your.full.package.*"/>
很明显,可以采用下面的方式来转换所有的java bean
<convert converter="bean" match="*"/>


如页面js调用:
 var caseObj = new Object();
		 caseObj.caseStatusId=2;
		 caseObj.caseOkday=time;
		 .....			
		 caseObj.repVilActor= repVilActor;		 
		 caseObj.repPerson = repPerson;
		 caseObj.recTownActor=recTownActor;
		 caseObj.repTownActor=repTownActor;
		 caseObj.daiban='${caseForm.caseBean.daiban}'
		 caseObj.caseGid = '${caseForm.caseBean.caseId}';
		 caseObj.recTownDep=recTownDep;
		 caseObj.repAreaActor = repAreaActor;	
		 caseService.updateCase(caseObj);

我们要用到的Java caseService 类转化成一个Javascript对象供我们在页面中使用,这里传递了一个数组
通过配置转换成我们的vo对象;
<create creator="spring" javascript="caseService">
			<param name="beanName" value="caseService" />
		</create>
		<convert converter="bean" match="com.ving.xzfw.vo.Case" />

DWR共有三种Creator,最简单的”new”是调用bean的默认构造函数创建实例.”scripted”允许采用其他脚本语言创建实例.如BeanShell.在远程bean的默认构造函数不能进行进一步配置的情况下这种类型的creator比较有用.”Spring”类型允许你通过spring创建实例.
下面是关于creator的参考资料和配置参数说明.
Creator Parameter User
new class 类的全名称(包括包路径)
scripted language BSF框架支持的脚本语言名称(BSF为apache项目)
scripted script 返回远程对象的脚本,脚本可以指定一些属性,多数情况下一般只设置param节点配置.属性很少设置.
spring Location* 任何以location开头的参数,每个参数都是指定一个spring的配置文件,在参数没有设置的情况下DWR会去读取spring的全局的配置文件.
spring beanName 从配置文件中读取的bean的名称
“scope参数允许你配置creator的生命周期,共有以下几个选项:application,session,request,page.这些参数对于用过jsp或servlet的开发人员并不陌生.

new 如:
<!-- 配置一个creator的创建和远程方法调用设置 :
	 这里面其实就是我们要用到的Java类,名字叫Demo。这个文件的作用就是可以将我们要用到的Java类转化成一个Javascript对象供我们在页面中使用。
	 -->
	<allow>

		<create creator="new" javascript="Demo">

			<param name="class" value="wujincheng.Demo" />

		</create>

	</allow>

spring 如:
	<create creator="spring" javascript="caseService">
			<param name="beanName" value="caseService" />
		</create>


在applicationContext.xml中的注释


<bean id="caseService"
		class="com.ving.xzfw.service.impl.CaseServiceImpl">
		<property name="dao" ref="caseDao"></property>
		<property name="middleExchangeDao" ref="middleExchangeDao" />
	</bean>
分享到:
评论

相关推荐

    DWR中文文档(pdf)

    - 在`dwr.xml`中使用`&lt;creators&gt;`元素引用Spring的bean。 ##### 4.3 DWR与JSF整合 - **整合要点**: - 使用`JSFCreator`来创建JSF托管bean。 - 配置`dwr.xml`以支持JSF的生命周期。 ##### 4.4 DWR与Struts整合 ...

    DWR.xml配置文件说明书(含源码)

    &lt;creator id="script" class="uk.ltd.getahead.dwr.create.ScriptedCreator"/&gt;这种类型的creator采用BSF执行脚本语言并返回bean.例如 ... import org.apache.commons.validator.EmailValidator; return ...

    dwr配置

    例如,如果你有一个名为`A`的远程Bean,其中有一个`A.blah(B)`的方法,你需要为`A`创建一个`created`,并为`B`创建一个`converted`。 在`&lt;allow&gt;`部分,你需要明确指定哪些类可以被创建(`create`元素)和转换(`...

    DWR.xml配置文件说明

    #### 三、转换器(Converters) DWR预定义了一系列转换器,这些转换器用于处理不同类型的数据转换。例如: - `NullConverter`:处理null值。 - `PrimitiveConverter`:处理基本数据类型,如int、double等。 - `...

    DWR中文文档......

    - **与Spring的整合**:通过`SpringCreator`,DWR可以无缝访问Spring管理的bean,简化了对象创建的过程。 - **与JSF的整合**:利用`JSFCreator`和`ServletFilter`,DWR能够在JSF环境中提供远程调用能力,增强了JSF...

    DWR文件上传功能

    #### The Converters:数据类型转换器 DWR默认支持将Java的基本类型(如`int`, `double`, `boolean`)及其封装类、`String`、`Date`及SQL日期类转换为JavaScript相应的类型。同时,DWR还提供了默认的转换规则,例如...

    DWR.xml.rar_dwr.xml

    对于学习Ajax的用户来说,理解并掌握`dwr.xml`的配置至关重要,因为它直接影响到Ajax应用的性能和安全性。 在`dwr.xml`中,主要包含以下几个关键部分: 1. **允许的类(Allow)** 这部分定义了哪些Java类可以被...

    dwr中文手册

    此外,还需要在Spring的配置文件中定义DWR相关的bean,以实现服务对象的注入。 ##### 3.2 DWR与JSF DWR与JSF的整合主要通过JSFCreator来实现,这使得DWR可以在JSF环境中工作,从而实现更丰富的客户端交互。 ##### ...

    dwr.xml标签介绍

    例如,如果你有一个名为`A`的bean,它有一个方法`A.blah(B)`,你需要一个`A`的创作者和一个`B`的转换器,以便在客户端可以调用`A.blah()`并传递`B`类型的参数。 2. **允许(allow)**: `allow`元素定义了DWR可以...

    AJAX实践DWR篇

    4. **配置DWR**:在dwr.xml配置文件中声明这些组件,并配置必要的类型转换(converters),以便于Java和JavaScript之间的数据交换。 5. **动态生成JavaScript**:DWR通过反射机制,将Java类转换为JavaScript代码,...

    ssha 最新 最完整 配置信息

    **表格17**: WEB-INF/dwr.xml配置文件中关于springbean的调用(必需设置) ```xml &lt;dwr:direct object-ref="myService" scriptName="myService"&gt; &lt;dwr:remote-method name="doSomething" return="java.lang.String"&gt;...

Global site tag (gtag.js) - Google Analytics