简单DWR使用例子
DWR:搜索百度百科解释--DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
原因:是因为Javascript无法直接调用java函数,但是为了达到AJAX异步特性(部分刷新页面,减少数据库传输大小)。DWR可以根据java函数产生相应的js(含有函数相应的方法),从而在网页上可以直接通过js调用java函数中的方法类,达到异步效果。
具体方法如下:
[list]导包:将dwr.jar文件放到你的webapp的WEB-INF/lib目录下;web.xml的配置:
<servlet> <servlet-name>dwr-invoker</servlet-name> <display-name>DWR Servlet</display-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param></servlet><servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern></servlet-mapping>dwr.xml的配置:
<dwr> <allow> <create creator="new" javascript="TestDwr">//-->产生的Js的名称,与jsp中调用名称一致 <param name="class" value="com.edr.dwr.TestDwr"/> </create> </allow></dwr>jsp上调用产生的js:
<!-- 导入dwr的JS引擎 --><script type="text/javascript" src="dwr/interface/TestDwr.js"></script><script type="text/javascript" src="dwr/engine.js"></script><script type="text/javascript" src="dwr/util.js"></script><!-- 调用后台类 --><script type="text/javascript"> //删除一条数据 function do_delete(name){alert("确定要删除?\r\n"+name);TestDwr.doDelete(name);//具体方法类}</script>