dwr和spring的整合

1.dwr在spring配置文件的配置:

<!-- 注意这里新增加的dwr tag, 为使其生效,文件头中要声明namespace -->
<dwr:configuration />
<!-- 要求DWR在Spring容器中检查拥有@RemoteProxy 和 @RemoteMethod注解的类。注意它不会去检查Spring容器之外的类。 -->
<dwr:annotation-config id="dwr_as" />

<!-- 指定dwr所调用的后台方法的路径 -->

<dwr:annotation-scan base-package="com.boco.dcn.report.dwrremote" />
<!-- 要求DWR将util.js和engine.js映射到dwrController -->
<dwr:url-mapping />
<!-- 定义dwrController 部署项目时, 请把debug设为false -->
<dwr:controller id="dwrController" debug="false" />

2.web.xml的配置

<!-- ajax工程dwr的配置 -->
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>org.directwebremoting.spring.DwrSpringServlet</servlet-class>
<!-- 是否允许调试,如果要在浏览器中调试则必须设置为true -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<!-- 如果允许跨域请求,则必须将此值设置为false,默认值为true -->
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>allowScriptTagRemoting</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>

<!-- 这里指定的路径是前台引入时的路径 -->
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

3.后端java代码

@RemoteProxy注解该类,将该类暴露出来

@RemoteProxy(creator=SpringCreator.class)
public class ReportRemote {

  public void  test(String name){

    System.out.println(name+",你好");

  }

}

4.前端引入dwr

<!-- dwr的类型转换器,他可以将js转换为java,然后再转换为js -->

<script type='text/javascript' src='dwr/engine.js'></script>

<!-- 所调用的后台的方法,src格式为:'dwr/interface/后台类名.js'-->

<script type='text/javascript' src='dwr/interface/ReportRemote.js'></script>

5.前台的调用

 ReportRemote.getDeviceFlowArea(参数,返回结果执行的方法体);

 ReportRemote.getDeviceFlowArea(value,function(data){}

原文地址:https://www.cnblogs.com/tianmengwei/p/5084702.html