dwr是基于ajax的一个开源框架,实现web页面与Java类的交互。
下面具体讲讲如何使用dwr,并附有简单实例。
1.准备工作
下载依赖包并引入到web项目的lib目录下,需要的jar包:
commons-logging.jar
dwr.jar
2.配置web.xml
<servlet> <servlet-name>dwrinvoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwrinvoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
3.配置dwr.xml,这一配置文件与web.xml同级目录放置
<?xml version="1.0" encoding="UTF-8"?> <dwr> <allow> <!-- 配置:javascript="JavaDwr"表示页面js中可以用JavaDwr关键字调用后台的DwrDemo类及类中方法 --> <create creator="new" javascript="JavaDwr"> <param name="class" value="com.tcl.dwr.DwrDemo"/> </create> </allow> </dwr>
4.Java类
package com.tcl.dwr;
public class DwrDemo {
/**
* DWR测试类
*
*/
public String getInfo(String name) {
System.out.println("js传过来的参数:"+name);
return name + ",欢迎来到dwr的世界!!!";
}
}
5.web页面调用,页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>测试页面</title>
<!--以下三个js必须引入,其中第三个js根据自写的Java类名称指向的关键字改变:dwr/interface/xxx.js-->
<script src="dwr/engine.js"></script>
<script src="dwr/util.js"></script>
<script src="dwr/interface/JavaDwr.js"></script>
<script type="text/javascript">
function sayHello(name)
{
JavaDwr.getInfo(name,dwrHandler);
}
//这是dwr的一个回调函数,data参数即java方法getInfo(String name)的返回值
function dwrHandler(data) {
document.getElementById("returnValue").innerHTML=data;
//alert(data);
}
</script>
</head>
<body>
<a href="javascript:void(0)" οnclick="sayHello('Tom')">提交</a>
</body>
</html>
6.浏览器地址访问:http://localhost:8080/项目名称