从DWR1.1官方文档,提取的些东西
来源:互联网 发布:淘宝店铺搜索不到店铺 编辑:程序博客网 时间:2024/05/15 10:04
1、java的方法避免用 java 和 javascript的关键字。 如 try()方法 或 delete()方法。
2、在你的java类中不要出现重载 avoid overloaded methods.
3、在生产环境下,你可以把deprecated.js engine.js util.js 合并成一个,并放到web容器内,直接在htm,jsp中引用。(对于java代码转换成的javascript代码也可以这么做,免得每次生成javascript代码浪费时间)
4、研究一下Bean Converters。POJOjava对象必须严格按照 getProperty() setProperty()定义。Bean Converters是按照 java对象的 get set方法工作的。DWR1.1加了Object Converters,是按private int property;这类属性工作的。
<convert converter="bean" match="example.Fred"/>
<param name="exclude" value="property1, property2"/>
</convert>
当你这样配置时,java对象转化成的javascript对象不包括property1和property2。
<convert converter="bean" match="example.Fred"/>
<param name="include" value="property1, property2"/>
</convert>
反过来java对象转化成的javascript对象直包括property1和property2。
5、<convert converter="collection" match="java.util.Collection"/>
<convert converter="map" match="java.util.Map"/>
这也是容易出问题的地方.
如
package example;
public class Person{
private String name;
get ... set
private List relationPerson;
public List setRelationPerson(List relationPerson){
this.relationPerson=relationPerson;
}
}
<convert converter="bean" match="example.Person"/>
</convert>
<signatures>
<![CDATA[
import java.util.Set;
import example.Person;
Person.setRelationPerson(List<Person>);
]]>
</signatures>
在jdk1.5泛型中有写法区别
6、另外在Set,List等做为方法参数时也会出现混淆。返回集合类型不会出现问题,想想就知道了。
如在Test类中有 public Set testBeanSetParam(Set test) 这个方法,客户端得到的javascript方法可能是Test.testBeanSetParam(p0,callback);当我们 javascript调用这个方法时,鬼才知道怎么确定p0的类型,也不可能知道Set集合中该放什么类型的java对象,所以dwr的 special signatures syntax 确定这些集合和内容的类型
<signatures>
<![CDATA[
import java.util.Set;
import example.Test;
Test.testBeanSetParam(Set<TestBean>);
<!--Test.stringStringMapParam(Map<String, String>);-->
]]>
</signatures>
7、Creators
<allow>
<create creator="..." javascript="..." scope="...">
<param name="..." value="..."/>
<auth method="..." role="..."/>
<exclude method="..."/>
<include method="..."/>
</create>
...
</allow>
为了更少的暴露业务方法,最好配置include属性。
dwr支持new ,script,struts....几种集成方法,也支持static方法的调用,我觉得最好的是spring,其他感觉是处理遗留问题处理。
8、engine_js 作为dwr框架客户端核心,主要完成xmlHttp或iframe的构造,我们没必要关心它如何实现。有几点创新的我们可以学习下。
Call Batching 我们可以把几个客户端请求一起放送到服务器端,减少了网络交互,但要注意依存关系和他们处理的顺序。
Call Ordering 同步异步调整。一般用默认的就好了。注意依存关系。
Remoting Hooks 钩子,"small AOP"
依存关系解释。 如果 request1() request2()两个业务逻辑方法,request2方法需要用到request1方法从服务器端返回的结果。如果调用request2时,request1还没处理或还没请求。 下拉框连动可能有这个问题。
9、util.js propotype.js有些重复,这让我很难受。只能改代码了,可别坏了开元协议。
10、如果你的回调方法想加其他参数
var dataFromBrowser = ...;
var callbackProxy = function(dataFromServer) {
callbackFunc(dataFromServer, dataFromBrowser);
};
var callMetaData = { callback:callbackProxy };
Remote.method(params, callMetaData);
11、dwr1.1
1.1只能算一个bug消除版本,没有什么大的功能调整。源代码结构做了些调整。2.0有新的特征加入。
It has a far broader scope; the major new features are accessibility enhancements, and what now appears to be called 'Comet'. 在文档中提到了“Comet”,估计与DWR2.0作者想法类似。
- 从DWR1.1官方文档,提取的些东西
- 读了遍DWR1.1官方文档,提取的些东西
- dwr2.0与dwr1.1的区别
- 从lazyTableImages官方例子学到的一些东西
- 从lazyTableImages官方例子学到的一些东西
- iOS学习--从lazyTableImages官方例子学到的一些东西
- 从官方文档学《Freemarker》(1)
- DWR1.1.1的基本应用
- DWR1.1.1的基本应用
- DWR1.1 配置和使用
- 怎么从扫描的PDF文档/图片里提取文字
- jQuery 选择器的优化(从官方文档翻译过来的)
- 从Python 官方文档找知识点答案的方法
- SQL Server 无文档的东西(1)
- 初涉Android Studio从官方文档开始(1)
- 闲谈DWR1 —DWR的初步认识
- Oracle 官方文档 结构说明(教你如何快速从官方文档中获取需要的知识)
- Oracle官方文档结构说明(教你如何快速从官方文档中获取需要的知识)
- Android核心分析(16)-----Android电话系统-概述篇
- HashTable的相关操作(HashTalbe浅谈)
- DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC宏
- JAVA面试题(2)
- java泛型
- 从DWR1.1官方文档,提取的些东西
- C中struct的对齐分析
- Android高手进阶教程(十)之----Android PopupWindow的使用!!!
- dwr配置篇web.xml
- ZXV10 H608B 设置自动拨号功能,和itv功能
- c#摄像头拍照(未经测试)
- 3DES
- dwr学习深入理解
- Android高手进阶教程(十一)之----Android 通用获取Ip的方法(判断手机是否联网的方法)!!!