最近看了dwr的api做了个小例子跟大家分享一下,准备工作先下载dwr
点击打开链接 ,本人喜欢下载war包看例子顺便解压得到jar。
得到commons-logging-1.0.4.jar dwr.jar两个jar,放到web项目的lib文件夹里,好了准备工作做好了
现在该写配置了 修改web.xml添加如下代码
<!-- dwr配置 -->
<servlet>
<servlet-name>dwr-invoker</servlet-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-info下创建dwr.xml,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<!-- dwr配置 -->
<dwr>
<allow>
<!-- 这里的 create的填写前台要调用的类的别名 param是类全名-->
<create creator="new" javascript="Test">
<param name="class" value="com.amicable.demo.Test"/>
</create>
</allow>
</dwr>
现在就要创建红字所写的类了
package com.amicable.demo;
public class Test {
public String hello(String name) {
for (int i = 0; i <1000000; i++) {
System.err.println("12341234");
}
return "hello:"+name;
}
}
大功告成了,把项目放到tomcat下运行访问localhost:8080/dwrdemo/dwr/index.html ,你会看到在dwr.xml里配置的类别名了
看到了吧,红色的是你要在你的jsp也页面引入的js
蓝色是可以测试的方法
现在就可以创建你的jsp页面了index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML>
<html>
<head>
<script type='text/javascript' src='/dwrdemo/dwr/engine.js'></script>
<script type='text/javascript' src='/dwrdemo/dwr/interface/Test.js'></script>
<script type='text/javascript' src='/dwrdemo/dwr/util.js'></script>
</head>
<body>
<script>
function hello(){
var user =$("user").value;
Test.hello(user,callback);
}
function callback(message){
alert(message);
}
</script>
<input id = "user" type="text"/>
<input type="button" value="test" οnclick="hello();">
</body>
</html>
从新运行你会看到dwz写ajax的方便之处,如果返回的结果比较复杂,我建议先用alert()看看内容在转成相应的格式。
在分享一个前端的框架dwz 点击打开链接 看了一点api还不错