六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 18|回复: 0

JAVA平台的AJAX 框架DWR使用

[复制链接]

升级  23.45%

473

主题

473

主题

473

主题

探花

Rank: 6Rank: 6

积分
1469
 楼主| 发表于 2013-1-29 10:45:12 | 显示全部楼层 |阅读模式
DWR现在已经在java平台的AJAX应用中使用比较广泛,下面将以前项目中用到的部分内容(测试部分)贴出来,以供参考。
配置使用什么的就不多说了,在网上搜一下就很多,非常简单。
只简单的说一下流程,然后直接把文件中的内容贴出来。具体的使用也可以参考dwr的网站:http://directwebremoting.org/dwr
1.首先在web.xml中配置dwr,以便在项目中使用
2.编写java应用,并在dwr.xml中配置(我的dwr.xml在web-info下)。
3.在jsp文件中调用
例如:
TestDwr.java中有一个方法public String test2(); 如果想在jsp页面中通过ajax方式调用步骤如下:
在dwr.xml中将方法公布出来

  • <!--测试,调用方法-->
  • <createjavascript="testdwr"creator="new">
  • <paramname="class"value="com.yinbo.umpay.test.TestDwr"/>
  • <includemethod="test1"/>
  • <includemethod="test2"/>
  • <includemethod="test3"/>
  • <includemethod="test4"/>
  • <includemethod="test5"/>
  • <includemethod="test6"/>
  • <includemethod="test7"/>
  • <includemethod="test8"/>
  • <includemethod="test9"/>
  • </create>
javascript="testdwr"是指会生成testdwr.js的文件供前台调用。value="com.yinbo.umpay.test.TestDwr"是指方法所在的类,creator="new"是构造方法,这里使用new对象的方法,也可以通过spring来管理。这里注意即使用在TestDwr.java中是public方法,也要在配置文件中发布出来才可以访问。
在jsp中调用如下:
先要引入
<script src='<c:url value="/dwr/engine.js"/>' ></script>
<script src='<c:url value="/dwr/util.js"/>' ></script>
这两个js是支持库,必须引入。然后就是引入
<script src='<c:url value="/dwr/interface/testdwr.js"/>'></script>
这个testdwr.js是dwr动态生成的,你不用去寻找它放在哪儿。
jsp中的调用

function callTestMethod2(){
testdwr.test2(callBackFortestMethod2);
}
function callBackFortestMethod2(data){
// 其中 date 接收方法的返回值
// 可以在这里对返回值进行处理和显示等等
alert("the return value is " + data);
}

<input type="button"
value="调用有简单返回值的java方法">

这里的调用使用testdwr这个对象引用方法。testdwr.test2(callBackFortestMethod2); 返回值会传入callBackFortestMethod2方法的参数中。

web.xml
<div class="highlighter">

  • <!--dwr-->
  • <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>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表