- 浏览: 530942 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (740)
- css (4)
- jquery (8)
- javascript (23)
- html (0)
- uml (0)
- 设计模式 (1)
- 开发工具 (14)
- json (4)
- struts 1.x (3)
- spring (3)
- hibernate (6)
- struts 2.x (17)
- JFreechart (0)
- j2se (48)
- jsp (9)
- flex (22)
- 找工作 (1)
- 技术杂谈 (18)
- 网络编程 (5)
- io流 (1)
- ORACLE (15)
- 报表 (3)
- extjs (11)
- jpbm (2)
- swing (5)
- jspereports (3)
- sql (1)
- linux (15)
- ps (1)
- storm (4)
- hbase (8)
- li (0)
- python (1)
- hive (3)
- 机器学习 (1)
- hdfs (1)
- elasticsearch (1)
- hadoop 2.2 (5)
- hadoop (1)
最新评论
-
Tristan_S:
这个有点意思
ASM -
starryskydog:
程序修改detail band部分的样式 如内容字体大小 ...
使用jasperReport实现动态表头 -
samwong:
Good, so usefule
使用YUI Compressor压缩CSS/JS -
gc715409742:
能够告诉我怎么在web项目中使用YUI Compressor? ...
使用YUI Compressor压缩CSS/JS -
JsonTeye:
您好! 我看你的代码,我现在也在做动态报表,实现功能由用户自己 ...
使用jasperreport动态生成pdf,excel,html
看了上面XML的配置,大家一定可以看明白如何配置DWR,现在具体的讲讲. 这部分是可选配置的,所以在上面的配置文件中没有,声明那些用于建立远程bean和在方法调用中转换bean的类.多数情况下可以不必使用它,如果你想定义一个新的creator或者converter那么就必须在这部分中声明,具体的可以查看dwr.jar中的dwr.xml是如何配置的,或者到它的官网看看! 1. allow段落里面定义的是DWR可以创建和转换的类。 2.Creators dwr.xml文件中的create元素的结构如下: ... 这里的多数元素都是可选的 - 你真正必须知道的是指定一个creator和一个javascript名字。 creator是用来指定使用那种创造器, DWR1.1有八种创造器。它们是: new: 用Java的new关键字创造对象。none: 它不创建对象scripted: 通过BSF使用脚本语言创建对象,例如BeanShell或Groovy。spring: 通过Spring框架访问Bean。jsf: 使用JSF的Bean。 (v1.1+)struts: 使用Struts的FormBean。 (v1.1+)pageflow: 访问Beehive或Weblogic的PageFlow。 (v1.1+)ejb3 如果你需要写自己的创造器,你必须在init部分注册它。none 创造器不创建任何对象, 它会假设你不需要创建对象。有两种情况:可能在使用的scope不是"page",并在在前面已经把这个对象创建到这个scope中了,这时你就不需要再创建对象了。还有一种情况是要调用的方法是静态的,这时也不需要创建对象。DWR会在调用创建器之前先检查一下这个方法是不是静态的。 javascript属性 用于指定浏览器中这个被创造出来的对象的名字。你不能使用Javascript的关键字。 scope属性 可选,非常类似servlet规范中的scope。它允许你指定这个bean在什么生命范围。选项有"application", "session", "request" 和"page"。默认是page. param元素 被用来指定创造器的其他参数,每种构造器各有不同。在上面的dwr.xml中显示了spring的配制 方法,而在简单部署DWR中有new的配置方法!struts和jsf的配置如下: scripted的配置相对来说比较复杂,对于单例类很适用: import org.apache.commons.validator.EmailValidator; return EmailValidator.getInstance(); auth元素 允许你指定一个J2EE的角色作为将来的访问控制检查: include和exclude元素 允许创造器来限制类中方法的访问。一个创造器必须指定include列表或exclude列表之一。如果是include列表则暗示默认的访问策略是"拒绝";如果是exclude列表则暗示默认的访问策略是"允许"。例如只想访问addMessage()方法,你应该把如下内容添加到dwr.xml中。 如果有多个,就写多行。 3.Converters 类型转换器,转换器可以把POJO转换成Javascript的接合数组(类似与Java中的Map),或者反向转换。 JDK中的多数类型已经有转换器了,一般来说JavaBean的参数需要一个定义。 具体的结构如: 默认情况下,如下类型不需要定义就可以转换:boolean, byte, short, int, long, float, double, char, java.lang.Boolean, java.lang.Byte, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Float, java.lang.Double, java.lang.Character, java.math.BigInteger, java.math.BigDecimal 和 java.lang.String.具体的你可以打开dwr.jar,在org.directwebremoting包中找到一个dwr.xml的文件,后半部分以convert为标签的都是。在这些基础转换器中,特别要提的是Date转换器,它负责在Javascript的Date类型与Java中的Date类型(java.util.Date, java.sql.Date, java.sql.Times or java.sql.Timestamp)之间进行转换。如果你有一个Javascript的字符串 (例如"01 Jan 2010") ,你想把它转换成Java的Date类型有两个办法:在javascript中用Date.parse()把它解析成Date类型,然后用DWR的DateConverter传递给服务器;或者把它作为字符串传递给Server,再用Java中的SimpleDateFormat(或者类似的)来解析。同样,如果你有个Java的Date类型并且希望在HTML使用它。你可以先用SimpleDateFormat把它转换成字符串再使用。也可以直接传Date给Javascript,然后用Javascript格式化。第一种方式简单一些,尽管浪费了你的转换器,而且这样做也会是浏览器上的显示逻辑受到限制。 match是用于告诉DWR你将需要把java中的哪些类转换成js。你也可以写成dwr.test.*,但我并不推荐大家这样使用。为什么呢?如果你像前面那样一个一个地注册对象,则就可以在页面使用这个的语句初始化一个对象: varuser = new User(); 如果你使用后一种方法去批量注册对象,那么你就不能这样初始化这个对象而只能这样手动注册: Varuser = {userid:"", username:null, ……}; Javascript用于说明你在页面中使用这个对象的名称,强烈建议大家使用首字母大写,在JS中容易看出这是一个与后台对应的对象。 Converter用于告诉DWR用什么DWR的类来执行转换,常用的转换器有bean、object、hibernate2、hibernate3等。DWR有哪些转换器可以在dwr.jar的dwr.xml中找到。用bean转换器对于转换一些简单的javabean(属性是基础对象)的比较适合,因为DWR会将该值对象的所有属性,及其这些属性的所有属性,所有属性的属性,都以穷举的方式取出来,如果是复杂对象会有效率上的问题以及其他意外的问题。如果使用了项目中使用了hibernate那么选择hibernate3比较好,因为它不但能够很好的解决bean转换中的问题,还解决了延迟查询的问题,而且hibernate2还有其它的问题,比如容易取到空Bean! 另外一个需要提的是,与creator一样,转换器也可以一样地设置exclude和include参数。但是与creator不同的是,是指转换对象的时候需要转换或不转换某些属性。这个参数对于hibernate的一对一关联非常重要。在hibernate中一对一关联是不做延迟查询的,假如有一个值对象Employee与值对象Address是一对一关联,那么Employee中有Address的属性,而Address中有Employee的属性。由于一对一关联不做延迟查询,当DWR在转换一个Employee是会装载它的属性Address,然后在装载Address的时候,又会去装载Address中的Employee属性。如此这样,就会形成一个死循环,最后以堆栈溢出告终。解决这个问题的办法就是禁掉Address中的Employee属性,避免产生死循环。具体写法如下: value部分是需要转换的属性,如果有多个则用逗号隔开就可以了! 4.(Signatures) Signatures:dwr.xml中的签名,DWR使用反射来找出在转换时应该用那种类型。有时类型信息并不明确,signatures段使DWR能确定集合中存放的数据类型。对于list,map等集合有效。 signatures段允许我们暗示DWR应该用什么类型去处理。格式对以了解JDK5的泛型的人来说很容易理解。
<!--DATA[ import java.util.List; import com.example.Check; Check.setLotteryResults(List<Integ-->nos); ]]> DWR中又一个解析器专门来做这件事,所以即便你的环境时JDK1.3 DWR也能正常工作。 解析规则基本上会和你预想规则的一样(有两个例外),所以java.lang下面的类型会被默认import。 第一个是DWR1.0中解析器的bug,某些环境下不能 (本内容来自唯才教育网http://www.hn1c.com 原文地址:http://www.hn1c.com/diannao/dn53397/)
发表评论
-
js原型
2012-07-25 23:00 725原型是个很微妙的东西,很多人不是很理解,理解了原型对于研 ... -
js 格式化时间日期函数
2012-02-16 18:15 1024[代码] [JavaScript]代码 ... -
javascript设计模式
2011-12-19 08:26 7412011-08-31 23:55 by 聂微东, 11285 ... -
offsetLeft,Left,clientLeft的区别
2011-12-14 11:53 760假设 obj 为某个 HTML ... -
js去除两个数组中对象的某个属性相同的元素然后合并
2011-12-11 21:42 3963var dataArray1 = new Array();va ... -
javascript 命名空间
2011-11-30 19:18 1740在我们创建一个JavaScript库时,命名空间就显 ... -
读取js压缩为gzjs格式文件
2011-11-30 09:38 877最近做的Ext项目Ext的插件都比较大,对于网页的浏览 ... -
DOM事件传播
2011-11-25 15:53 738贴代码 test1.html <div i ... -
20 种提升网页速度的技巧 .
2011-11-07 14:14 827引言 不是所有人都能够使用高速 Inte ... -
动态加载js,css
2011-11-03 15:10 942/*Javascript 动态加载*/var JsLoad ... -
动态加载js的四种方法
2011-11-03 15:08 8501、直接document.write<s ... -
ext 中的各个style
2011-10-31 14:47 1101baseCls : 所写的css将会应用到自己的组件上 ... -
javascript prototype
2011-10-25 13:19 862---------------------- android培 ... -
JavaScript Prototype 详解
2011-10-24 17:08 862---------------------- andr ... -
JS通用表单验证函数,基于javascript正则表达式
2011-10-17 13:02 854表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一 ... -
Javascript正则表达式详解
2011-10-17 13:00 795js正则表达式是很多js开发人员比较头疼的事情,也很多人不 ... -
精通 JS正则表达式
2011-10-17 12:59 649正则表达式可以: •测试字符串的某个模式。例如,可以对一个输入 ... -
swfupload浅析
2010-12-24 18:12 1164一、简介和示例 SWFUpload is a small J ... -
带复选框(checkbox)的树
2010-12-14 10:13 1244带复选框(checkbox)的树 <!-- start ... -
NodeJS探索
2010-11-07 17:05 1322一、什么是NodeJS?第一眼看到这个词,估计你和我一样,以为 ...
相关推荐
dwr学习资料,适合于中高级学员。dwr学习资料,适合于中高级学员。
DWR与JSP DWR调用内置对象 内置对象 DWR与JSP DWR调用内置对象 内置对象 DWR与JSP DWR调用内置对象 内置对象
DWR如何获得返回对象 DWR如何获得返回对象 DWR如何获得返回对象
一个DWR3 调用对象的小例子,包括了web.xml的配置和dwr.xml的配置,完全按照官方标准dwr3配置,压缩文件中包括了应用的jar包 开发环境: eclipse + Tomcat
DWR中处理List例子,很好,经典,欢迎大家下载
dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr
讲解DWR 框架的使用,和各种form表单Select-option,table
dwr返回对象.docdwr返回对象.docdwr返回对象.docdwr返回对象.doc
学习dwr,对返回类型,参数类型有详细介绍
dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;
dwr 框架dwr 框架dwr 框架dwr 框架dwr 框架dwr 框架
DWR中处理集合,其中包含了各种集合,概括全面,简单易懂。
DWR 初始,返回字符串&对象&列表 DWR 初始,返回字符串&对象&列表
DWR中文文档DWR中文文档DWR中文文档DWR中文文档DWR中文文档
DWR示例 包括DWR基本配置 DWR传递对象 DWR 反转ajax DWR与spring集成
dwr源码
dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档dwr中文文档
dwr笔记 dwr自学资料 dwr笔记 dwr自学资料 dwr笔记 dwr自学资料
Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr入门操作手册Dwr...
DWR配置文件详解 DWR配置 DWR配置文件