DWR高级主题之DWR与spring集成(不使用springMVC,不使用注解的实例)
spring的bean配置文件
java文件
index.html
----------
web.xml
<?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">
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:dwr3SampleAppNonSpringMVC.xml
</param-value>
</context-param>
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
spring的bean配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd">
<dwr:configuration>
<dwr:convert type="bean" class="org.uk.ltd.dwr.dev.model.Address" />
</dwr:configuration>
<bean id="dwrService" class="org.uk.ltd.dwr.dev.service.DWRService">
<dwr:remote javascript="dwrService">
<dwr:include method="getAddress" />
</dwr:remote>
</bean>
</beans>
java文件
package org.uk.ltd.dwr.dev.model;
public class Address {
private String street;
private String street2;
private String city;
private String state;
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getStreet2() {
return street2;
}
public void setStreet2(String street2) {
this.street2 = street2;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
}
package org.uk.ltd.dwr.dev.service;
import org.uk.ltd.dwr.dev.model.Address;
public class DWRService {
public DWRService() { }
public Address getAddress() throws Exception {
Address address = new Address();
address.setStreet("2245 NW Overlook Drive");
address.setCity("Portland");
address.setState("Oregon");
return address;
}
}
index.html
<html>
<head>
<title>DWR Dev</title>
<script type="text/javascript" src="/dwr3SampleAppNonSpringMVC/dwr/engine.js"></script>
<script type="text/javascript" src="/dwr3SampleAppNonSpringMVC/dwr/util.js"></script>
<script type="text/javascript" src="/dwr3SampleAppNonSpringMVC/dwr/interface/dwrService.js"></script>
<script>
function getDataFromServer() {
dwrService.getAddress({
callback: getDataFromServerCallBack
});
}
function getDataFromServerCallBack(dataFromServer) {
alert(dwr.util.toDescriptiveString(dataFromServer, 3));
}
</script>
</head>
<body>
<h3>DWR/Spring without Spring MVC</h3>
<a href="#" οnclick="getDataFromServer(); return false;">Retrieve test data</a><br/>
</body>
</html>