dwr-signatures
signatures段使DWR能确定集合中存放的数据类型。例如下面的定义中我们无法知道list中存放的是什么类型。
public class Check
{
public void setLotteryResults(List nos)
{
...
}
}
signatures段允许我们暗示DWR应该用什么类型去处理。格式对以了解JDK5的泛型的人来说很容易理解。
<signatures> <![CDATA[ import java.util.List; import com.example.Check; Check.setLotteryResults(List<Integer> nos); ]]> </signatures>
DWR中又一个解析器专门来做这件事,所以即便你的环境时JDK1.3 DWR也能正常工作。
解析规则基本上会和你预想规则的一样(有两个例外),所以java.lang下面的类型会被默认import。
第一个是DWR1.0中解析器的bug,某些环境下不能返回正确类型。所以你也不用管它了。
第二个是这个解析器时"阳光(sunny day)"解析器。就是说它非常宽松,不想编译器那样严格的保证你一定正确。所以有时它也会允许你丢失import:
<signatures> <![CDATA[ import java.util.List; Check.setLotteryResults(List<Integer>); ]]> </signatures>
将来的DWR版本会使用一个更正式的解析器,这个编译器会基于官方Java定义,所以你最好不要使用太多这个不严格的东西。
signatures段只是用来确定泛型参数中的类型参数。DWR会自己使用反射机制或者运行时类型确定类型,或者假设它是一个String类型。所以:
不需要signatures - 没有泛型参数:
public void method(String p);
public void method(String[] p);
需要signatures - DWR不能通过反射确定:
public void method(List<Date> p);
public void method(Map<String, WibbleBean> p);
不需要signatures - DWR能正确的猜出:
public void method(List<String> p);
public void method(Map<String, String> p);
不需要signatures - DWR可以通过运行时类型确定:
public List<Date> method(String p);
没有必要让Javascript中的所有对象的key都是String类型 - 你可以使用其他类型作为key。但是他们在使用之前会被转换成String类型。DWR1.x用Javascript的特性把key转换成String。DWR2.0可能会用toString()方法,在服务段进行这一转换。
dwr-signatures相关推荐
- 向DWR传递map/返回map/list/set等(返回对象的处理)
1.调用没有返回值和参数的JAVA方法 1.1.dwr.xml的配置 <dwr> <allow> <create creator="new" java ...
- 我的DWR学习(二)
DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样. ...
- dwr的使用和ajax的标签使用 (未读)
非常详细介绍了DWR和ajax标签的使用.及真实配置 分为两个部分:dwr的原理和应用/真实环境使用(在文章的最后面).基本上适合所有人查阅 DWR的作用:DWR是一个可以允许你去创建AJAX WEB ...
- dwr的使用和ajax的标签使用
非常详细介绍了DWR和ajax标签的使用.及真实配置 分为两个部分:dwr的原理和应用/真实环境使用(在文章的最后面).基本上适合所有人查阅 DWR的作用:DWR是一个可以允许你去创建AJAX WEB ...
- [DWR(Ajax)]DWR使用笔记
[DWR(Ajax)]DWR使用笔记 把老师发的文档转载分享一下. DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码.它的实现是 ...
- DWR重温 DWE例子 如下
第一步 导包 第二步配置 web.xml 添加如下 <!-- 配置dwr --> <servlet> <servlet-name>dwr&l ...
- 【AJAX】DWR使用总结
这两天学了下DWR,现在总结一下. DWR是方便使用AJAX连接JS和JAVA的的一个框架,把服务器端 Java 对象的方法公开给JavaScript 代码. 如果是用dwr2.0的jar包,还需要同 ...
- 【DWR系列04】- DWR配置详解
一.DWR配置简介 虽然使用DWR只需要简单的配置,但是DWR的功能还是很多的,如果要使用这些功能就要对DWR的配置进行了解.配置主要有web.xml,dwr.xml和注解配置.下面依次介绍. 二.D ...
- dwr配置文件dwr.xml详解
本人对dwr 中文文档关于dwr.xml做的一个整理,纯粹体力活,有用得着的朋友别忘顶一下,留个联系方式一起交流学习! dwr.xml是DWR的配置文件.默认情况下,应该把它放到WEB-INF目录(w ...
- DWR的学习文档(Hello World,类型转换,Spring,Annotation)
來源:http://www.iteye.com/topic/40313 DWR是作为远程调用的ajax框架,将服务端的java类,方法和浏览器的javascript的类,方法对应起来.现在官方最新的版 ...
最新文章
- gensim models.word2vec – Word2vec embeddings API
- 数字图像处理:第十三章 图象复原
- linux内核杂记(10)-进程调度(5)
- linux md5sum获取文件指纹数值并使用cut切割
- Python网络编程—TCP套接字之HTTP传输
- vue.js能美化界面吗_vue将单页面改造成多页面应用的方法
- python commands_Windows环境下使用python的commands.getstatusoutput
- java springboot aop_Spring Boot实战系列(3)AOP面向切面编程
- Springboot — 用更优雅的方式发HTTP请求(RestTemplate详解)
- html5自定义组件样式,Taro 自定义组件样式不生效及解决方案
- 一、Java快速入门
- 游戏的交互设计与心理学应用
- 台湾芯唐(华邦)强势推出:W79E2051/W79E4051,兼容AT89C2051/4051
- 用Python来实现2~7阶行列式的计算
- 安卓手机怎么投屏台式计算机WIN7,手机怎么投屏到win7电脑
- 股票放量一定就是好事么,为什么从爆大量的高位开始下跌?
- android 录屏功能,Android开发如何实现录屏小功能
- 有人知道要怎么用c++提取出文本里面的信息吗,例如把这个表格里的所有住户账号,密码提取出来
- 到底什么是5G LAN?
- 前景检测算法(七)--ViBe算法
热门文章
- 【matplotlib + opencv】关于opencv和matplotlib绘制图像时,出现色差色偏的问题探讨,思考,解决。(深度学习数据包plt.imshow绘制的图像底色偏绿蓝偏黄)
- 怎么选择触摸液晶广告机?
- concurrent mode failure
- Anaconda创建虚拟环境时报错 InvalidArchiveError Error with archive D:\\(anaconda的路径)\\pkgs\\vs2015_runtime
- Python爬取微信公众号文章、标题、文章地址
- 全屋智能抢占“中控”,华为、海尔、小米们谁离用户最近?
- Ubuntu安装 apache2 mysql php5 freeradius
- VS2017中MFC的C++设计中给其它窗口发中文消息
- 终于找到了PyMuPDF不能提取文字的原因……它只是个包装
- 关于国外主机PING值