使用軟體版本:
- 在web.xml加上:
<listener>
<listener-class>
org.springframework.web.context
.ContextLoaderListener
</listener-class>
</listener>
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.spring
.DwrSpringServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
- 新增一個class,內容如下:
public class DemoImpl implements Demo {
public String sayHello(String name) {
return "Hello, " + name;
}
}
- 在要使用DWR tag的bean definition file的<beans>加上租體字的部份:
<beans xmlns="http://www.springframework.org/schema/
beans"
xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance"
xmlns:dwr="http://www.directwebremoting.org/
schema/spring-dwr"
xsi:schemaLocation=
"http://www.springframework.org/schema/
beans http://www.springframework.org/
schema/beans/spring-beans-2.5.xsd
http://www.directwebremoting.org/schema/
spring-dwr http://www.directwebremoting.org/schema/
spring-dwr-2.0.xsd">
- 加上DWR configuration和controller的宣告:
<dwr:configuration></dwr:configuration>
<dwr:controller id="dwrController" debug="true"/>
- 在urlMapping加上DWR URL的mapping:
<bean id="urlMapping"
class="org.springframework.web.servlet
.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/engine.js=dwrController
/interface.js=dwrController
/call/**=dwrController
/interface/**=dwrController
</value>
</property>
<property name="alwaysUseFullPath"
value="true"/>
</bean>
- 宣告Demo的bean:
<bean id="demo" class="DemoImpl">
<dwr:remote javascript="Demo">
<dwr:include method="sayHello"/>
</dwr:remote>
</bean>
- 撰寫一個Javascript,index.js:
function update() {
var name = dwr.util.getValue("demoName");
Demo.sayHello(name, function(data) {
dwr.util.setValue("demoReply", data);
});
}
- 撰寫一個網頁,例如jsp:
<%@ page language="java"
contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String basePath = request.getScheme()
+ "://" + request.getServerName()
+ ":"
+ request.getServerPort()
+ request.getContextPath()
+ "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<base href="<%= basePath %>">
<meta http-equiv="Content-Type"
content="text/html;
charset=UTF-8">
<title>Hi</title>
<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/Demo.js'> </script>
<script type="text/javascript"
src='js/index.js'> </script>
</head>
<body><p>
Name:
<input type="text" id="demoName"/>
<input value="Send" type="button"
onclick="update()"/>
<br/>
Reply: <span id="demoReply"></span>
</p></body>
</html>
0 意見:
張貼留言