DWR getting start
1.Install the DWR JAR file
到 http://getahead.ltd.uk/dwr/download 下载 dwr.jar,放到WEB-INF/lib 下
2.编辑代码
这里只写一个HelloWorld,暴露给页面调用
package ps.dwr.test;
public class HelloWorld {
public String sayHelloWorldTo() {
return "Hello World!";
}
}
3.编辑配置文件
一个是web.xml,还有dwr.xml
需要在web.xml 中添加dwr servlet 配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>DWR Helloworld Demo</display-name>
<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-app>
我们需要在WEB-INF 下新建 dwr.xml,这个文件定义那些类可以创建并被javascript远程调用。
<dwr>
<allow>
<create creator="new" javascript="HelloWorld" scope="page">
<param name="class" value="ps.dwr.test.HelloWorld"/>
</create>
</allow>
</dwr>
4. 访问页面
http://localhost:8080/[appname]/dwr
我们在web.xml的配置中把debug 置为了 true,打开这个页面后你会看到所有可以调用的方法列表。这个页面是动态生成用来测试的例子,看到这个页面就说明前面的配置都成功了,接下来就可以开始写页面进行调用了。
5. 在页面中调用
DWR会自动为你生成与你配置的JAVA类相对应的javascript,我们在页面中要引用它,那生成的js在什么地方呢?我们记得访问http://localhost:8080/[appname]/dwr后会看到"Classes known to DWR"列表,点击其中的一个类(如HelloWorld)就会进入"Methods For: HelloWorld"页面,这里给了我们很清楚的提示:
<script type='text/javascript' src='/dwrtest/dwr/interface/HelloWorld.js'></script>
<script type='text/javascript' src='/dwrtest/dwr/engine.js'></script>
上面两个js是必须要用的,还有建议使用的:
<script type='text/javascript' src='/dwrtest/dwr/util.js'></script>
我们直接把他们拷贝到jsp页面就行了
//index.jsp
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<script type='text/javascript' src='/dwrtest/dwr/interface/HelloWorld.js'></script>
<script type='text/javascript' src='/dwrtest/dwr/engine.js'></script>
<script type='text/javascript' src='/dwrtest/dwr/util.js'></script>
<script type="text/javascript">
function update() {
HelloWorld.sayHelloWorldTo(loadinfo);
}
function loadinfo(data) {
$('output').innerHTML = data;
}
</script>
</head>
<body>
<input value="Execute" type="button" onclick="update()"/>
<h2 id="output"></h2>
</body>
</html>
代码很简单,不用细说也看明白了,需要注意的是HelloWorld.sayHelloWorldTo中的HelloWorld.是不能省的,因为这个整体才是一个方法名。
irini
2007-03-28 14:43:35
评论:0
阅读:264
引用:0
