一、DWR 普通项目中的配置:
1、将dwr.jar拷贝到项目lib文件夹中
2、在web-inf文件夹中创建dwr.xml文件;格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<!--
test为页面中js所要用到的实例名;
new是dwr配置的固定格式,表示类的创建方式为new;
value中配置java类的地址
-->
<create javascript="test" creator="new">
<param name="class" value="com.zht.Test"></param>
</create>
<!--
类型转换器中match配置要转换的java类的地址;
bean是dwr配置的固定格式,表示以javabean的方式转换;
-->
<convert match="java.lang.Exception" converter="bean">
<!--
include是dwr配置的固定格式,表示所要包含的属性;
value中配置要包含的属性名;
-->
<param name='include' value='message,lineNumber' />
</convert>
<!--
exception是dwr配置的异常固定格式;
match中配置异常类的地址;
-->
<convert converter="exception" match="java.lang.Throwable"></convert>
</allow>
</dwr>
3、修改web.xml文件,添加对dwr的配置;格式如下 :
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
二、Spring与DWR的集成配置
修改dwr.xml文件如下:
<!—
spring是dwr配置的异常固定格式;
beanName是dwr配置的异常固定格式;
value中配置要引用spring中bean的id;
javascript中配置页面js中要使用的实例名,该名一般与value中配置的名称相同;
-->
<create javascript="SpringDwrTest" creator="spring">
<param name="beanName" value=" SpringDwrTest "></param>
</create>
三、JSP页面中的配置
// test是dwr.xml文件中配置的实例名
<script type="text/javascript" src="dwr/interface/test.js"></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
四、JS中对DWR的使用方法
test.getMenth(参数1,参数2,···,参数N,回调函数);
//test是dwr中配置的实例名;
//参数是与java方法中参数对应的值;
//回调函数是接收java返回值的函数,当java方法无返回值时不必写该回调函数;
示例:
test.getMenth(“test1”,callBack);
function callback(data){}
//data为java方法返回的数据值;该值可以为字符串、数组、集合等;
五、JS中函数的书写方法
1、function test(){}
2、var test = function(){}
六、JS中MAP对象的读取
1、不知道key的情况下:
For(var data in Map){
//data为Map中的key;Map[data]是取key所对应的值;
Alert(data +”···”+ Map[data]);
}
2、已知key的情况下:
//key1为已知的key名;
Alert(Map.key1);
七、JS中对象的创建
1、使用函数的方法创建对象;
Function Object(参数1,参数2){
This.属性1 = 参数1;
This.属性2 = 参数2;
}
Var obj = new Object(参数1,参数2);
2、直接创建对象;
Var obj = {
属性1 = 参数1;
属性2 = 参数2;
}
八、DWR同步与异步的设置
1、DWR默认为异步执行
2、dwr.engine.Async(false); //设置DWR为同步执行
九、以标签本身作为对象在JS中使用;设置标签中自定义属性;
<input userID=”123” PWD=”123” onClick=”test(this)”>
<!—
userID与PWD为自定义属性;
this为将标签本身作为对象传递到函数方法中;
-->
<script type="text/javascript">
Function test(Obj){
Var u = Obj.userID;
Var p = Obj.PWD;
}
</script>
十、jsp页面标签中name与id的区别及使用
Name:可通过请求提交到后台进行处理,且值可以重复;
ID:jsp页面中使用的唯一操作标志,且值不可以重复;
DWR 在JS中对标签的获取(通过标签ID)
1、 document.getElementByID(“标签ID”)
2、 byId(“标签ID”)
3、 $(“标签ID”)
4、 dwr.util.getValue(“标签ID”)
//设置标签的值
5、 dwr.util.setValue(“标签ID”,”值”)
EL表达式与$(“标签ID”)区别
EL表达式: ${ } 使用的是大括号‘{}’
DWR: $(“标签ID”) 使用的是小括号‘()’