DWR技术简介及应用
dwr(Direct Web Remoting)是一个WEB远程调用框架.利用DWR可以在客户端利用javascript直接调用服务端的java方法,并返回值给javascript. 1. 在web.xml中配置DwrServlet <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>crossDomainSessionSecurity</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> 2. 创建java类,编写业务逻辑 public class DWRTest { public String hello(){ return "Hello World"; } } 3. 配置dwr.xml dwr.xml放在web-inf目录下。 第一种写法是调用spring bean,第二种写法是调用普通的java类。 <allow>标签中包括可以暴露给javascript访问的东西。 <dwr> <allow> <!-- javascript="在javascript中要用的类名" value="spring配置文件中DWRTest类对应的id"--> <!-- <create creator="spring" javascript="dwrTest"> <param name="beanName" value="dwrTest"/> </create> --> <!-- javascript="在javascript中要用的类名" value="被调用的java类的完整路径"--> <create creator="new" javascript="DWRTest"> <param name="class" value="com.tgb.DWRTest"/> </create> </allow> </dwr> 4. 在页面中通过javascript调用业务逻辑方法 其中DWRTest.js是dwr根据配置文件自动生成的,engine.js和util.js是dwr自带的脚本文件。 <script type="text/javascript" src="dwr/engine.js"></script> <script type="text/javascript" src="dwr/util.js"></script> <script type="text/javascript" src="dwr/interface/DWRTest.js"></script> <script type="text/javascript"> //java方法的javascript函数 functiontest1(){ DWRTest.hello( helloreturn ); } //接收返回值的回调函数 function helloreturn(value){ //value接收方法的返回值,可以在这个回调函数里对返回值进行处理--> alert(value); } //或者采用第二种写法,将回调函数放到javascript函数内部 //function test1(){ // DWRTest.hello( // function(data){ // alert(data); // } // ); // } </script> <body> <input type="button" value="hello" onclick="test1()"> </body> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |