-
到如下地址 http://getahead.ltd.uk/dwr/下载dwr软件包 dwr.jar,dwr有多个版本,要注意与jdk的兼容.
-
安装软件包:把dwr.jar文件拷贝到web营养的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> -
在WEB-INF目录下建立文件dwr.xml(该文件即为dwr的配置文件),在该文件里,需要配置javaScript要用的java类,主要配置两个属性:javascript:该属性相当于定义了javascript里调用的类变量,dwr会自动生成该文件名的js文件,param里配置的name="class",value应该配置实现类路径,如下内容配置了js里直接调用java的Date类和一个测试类的配置模式:
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd"><dwr>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
<create creator="new" javascript="Demo">
<param name="class" value="your.java.Bean"/>
</create如果返回类型是对象的话应该增加如下对象类型配置,可以配置任意多个对象类型<convert converter="bean"
match="com.ljm.dwr.Person"/>
<convert converter="bean"
match="com.ljm.dwr.Animal"/>
</allow>
</dwr> -
dwr.xml的配置信息简要说明:creator="new",表示调用类的默认构造函数生成对象,javaScript="Demo",表示在javascript里通过该变量调用类里方法,后面两项指定类路径
-
重新启动tomcat服务器
-
测试安装效果,http://localhost:8080/应用名/dwr/
-
如果成功显示页面,说明安装正确
-
写一个测试页面(html或jsp文件),注意文件里一定要加入如下两句js文件引入的代码.JDate.js文件是dwr引擎自动根据配置文件生成的.确保两个文件的引入位置正确。<script type='text/javascript' src='<%=basePath%>/dwr/interface/JDate.js'></script>
<script type='text/javascript' src=<%=basePath%>/dwr/engine.js'></script> -
在测试页面里,javaScript部分调用定义好的类方法,如下测试代码,用dwr.xml文件里配置的JDate作为变量名直接调用java里的方法:function displayLocaleDate()
{
JDate.toLocaleString(showDate);
} functioin showDate(date) {alert(date);} -
方法调用简单说明,用dwr.xml配置的对象变量名,后面直接跟JAVA里定义的方法名,但是与JAVA调用不同的是,首先:返回值,不像JAVA里将返回值赋给另一变量,再对该变量操作,而是把将处理返回值的函数作为JAVA方法调用时的最后一个参数,定义处理方法时需要加上相应参数,然后在处理方法里,返回值自动作为实参传入处理方法,调用JAVA方法时,前面部分参数是JAVA方法的正常参数,最后一个参数是处理返回结果的方法名。如果返回结果是对象的话,在处理方法里,通过对象的属性名获得对象的属性信息,如果返回值是数组的话直接通过数组下标获得数组元素对象,再通过属性名获得对象属性信息。如下代码:该方法处理数组返回类型的数据function showPerson(ps) {
for (i=0;i<ps.length;i++) {
//不能如下将数组元素强制类型转换
//Person p=(Person)ps[i];
alert(ps[i].name)
}
} -
如果JAVA方法里返回值类型是List,调用时,访问返回值的方法与等同于数组类型,通过length属性获得结果数,然后通过下标逐个访问每个元素
dwr的用法
最新推荐文章于 2024-10-10 08:16:45 发布
ajax也许很多人比较熟悉,然而知道dwr的人或许还不是很多,但是dwr可以比ajax更加简单的实现异步(异步即不刷新页面,就能访问数据库),大大提高开发效率.
使用dwr开发的一般步骤: