上面一篇文章简单的讲解了,dwr的一些配置步骤。现在我们就自己东西写一个dwr应用的一个实例吧。
写实例前,我们还的学习一个dwr的基本知识点,就是写javascript代码。
我还是根据官方的教材用我理解的讲解下吧(ps:由于本人的英语水平有限,至今未过cet4,杯具啊,
所有并没有一句一句的翻译啦,就是写个我理解的大体意思,具体的还是的各位自己去官方看英文文档吧,哈哈)
编写第一步:首先你的在你的jsp或者其他显示脚本的页面中加入下面两行代码,引入js控件:
<script src='/[YOUR-WEBAPP] /dwr/interface/[YOUR-SCRIPT] .js'></script>
<script src='/[YOUR-WEBAPP] /dwr/engine.js'></script> 第一个[YOUR-SCRIPT]
这个其实就是你在dwr.xml中配置的javascript属性的值.
下面我们讲解一些规则:
1.首先我们还是写个完整的示例吧。
后台的java类:
2.web.xml的编写,dwr.xml文件的编写,这里我就不把web.xml的编写的代码贴出来了,大家可以看我上一篇文章《dwr入门》
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
"http://getahead.org/dwr/dwr30.dtd">
<dwr>
<allow>
<create creator="new" javascript="DwrDemo">
<param name="class" value="demo.DwrTest"/>
</create>
</allow>
</dwr>
3.编写前台页面:
首先你得加入两个js文件,这是有dwr框架生成的。
<script src='/[YOUR-WEBAPP]/dwr/interface/DwrDemo.js'></script>
<script src='/[YOUR-WEBAPP]/dwr/engine.js'></script>
DwrDemo.test1('dwr test',function(str){
alert(str);
});
DwrDemo.test2('dwr test2' , ['a','b','c'],function (str){
alert(str);
});
这里接受java返回值,用的是回调函数来接受的。如果没有返回值,那么可以去掉这个回调函数。
回调函数还有两个属性:一个数设置超时timeout,一个数发生异常时调用的函数errorHandler属性。
例如:
Remote.test1('abc', {
callback:function(str) { alert(str); },
timeout:5000,
errorHandler:function(message) { alert("Oops: " + message); }
});
注意:javascript不支持java的overreload。
更权威,更详细的请看官方文档:http://directwebremoting.org/dwr/introduction/scripting-dwr.html
下面就是测试了:在游览器地址栏中输入:http://localhost:8080/[webname]/[页面名字]
下面是我结合前面写的tab菜单的实例加入了dwr功能的tab菜单实例代码: