1. 配置web.xml 文件
2. pojo
(1) 需要在类上注解@DataTransferObject
(2) 对于属性的注解 需要在属性的get方法上增加@RemoteProperty
如:
3. service
(1) 需要在类上注解@RemoteProxy
<script src='dwr/interface/userService.js'></script>
//@Param(name = "beanName", value = "userService") }
// name 引用springBean的方式 value 为引用的Spring的name
方法上的注解是:@RemoteMethod 如:
// request 为了回调得到值
4. js中调用
(1) 导入js
(2) 写方法调用
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>classes</param-name>
<param-value>
<!—主要是Dwr用到的方法及 属性类 -->
com.dao.user.UserService,
com.bean.User
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
2. pojo
(1) 需要在类上注解@DataTransferObject
(2) 对于属性的注解 需要在属性的get方法上增加@RemoteProperty
如:
@RemoteProperty
public String getEmail() {
return email;
}
3. service
(1) 需要在类上注解@RemoteProxy
@Service("userService") //spring bean 注入
@RemoteProxy(creator = SpringCreator.class, name = "userService", creatorParams = { @Param(name = "beanName", value = "userService") })
//name:js中需要引入的名字 如:
<script src='dwr/interface/userService.js'></script>
//@Param(name = "beanName", value = "userService") }
// name 引用springBean的方式 value 为引用的Spring的name
方法上的注解是:@RemoteMethod 如:
// request 为了回调得到值
@RemoteMethod
public List<User> getAllUser(HttpServletRequest request) {
return getAll();
}
4. js中调用
(1) 导入js
<script src='<%=basePath%>dwr/engine.js'></script>
<script src='<%=basePath%>/dwr/util.js'></script>
<script src='<%=basePath%>dwr/interface/userService.js'></script>
(2) 写方法调用
function getAllUser() {
//主要是直接调用类方法
userService.getAllUser(dealType2Data);
}
// 回调函数
function dealType2Data(result) {
if(result!=null && result.length > 0){
alert(DWRUtil.getValue("email") + ":" + result[0].email);
// DWRUtil.setValue("email", result[0].email);设置值
}
}
function getUser() {
getAllUser();
}
(3) HTML页面
<input type="text" id="email">
<input type="button" name="button" value="点啊" onClick="getUser();">