Ajax
的使用
今天终于揭开了那个一直让我神往的
ajax
技术的面纱。这里用的
dwr
实现的
ajax
技术。好了,现在我们看看要想在你的
j2ee
项目中使用
dwr
该怎么办吧!由此也揭开我们的第一章。
1
Dwr
的配置和使用
首先我们看看如何配置
dwr
呢?很简单。把人家的
jar
包拷贝到你的
lib
目录下啊。看过一些资料,一些人说:
dwr
必须要配置
bsf-2.3.jar , beanshell-1.3.0
。其实不然,只要把
dwr.jar
加入就可以了。
第二步:配置
web.xml
<
servlet
>
<
servlet-name
>
dwr-invoker
</
servlet-name
>
<
display-name
>
DWR Servlet
</
display-name
>
<
description
>
Direct Web Remoter Servlet
</
description
>
<
servlet-class
>
uk.ltd.getahead.dwr.DWRServlet
</
servlet-class
>
<
init-param
>
<
param-name
>
config
</
param-name
>
<
param-value
>
WEB-INF/dwr.xml
</
param-value
>
</
init-param
>
<
init-param
>
<
param-name
>
debug
</
param-name
>
<
param-value
>
false
</
param-value
>
</
init-param
>
<
init-param
>
<
param-name
>
scriptCompressed
</
param-name
>
<
param-value
>
false
</
param-value
>
</
init-param
>
<
load-on-startup
>
8
</
load-on-startup
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
dwr-invoker
</
servlet-name
>
<
url-pattern
>
/dwr/*
</
url-pattern
>
</
servlet-mapping
>
好了,因为你在
web.xml
下配置了
:
<
param-name
>
config
</
param-name
>
<
param-value
>
WEB-INF/dwr.xml
</
param-value
>
那么就要在
web-Inf
下建立一个
dwr.xml
文件。
下面我们看看
dwr.xml
文件吧:
<dwr>
<allow>
<create creator="new" javascript="ApartmentDAO" class="dwr.sample.ApartmentDAO">
<include method="findApartments"/>
<include method="countApartments"/>
<include method="getDate"/>
</create>
</allow>
</dwr>
是不是很简单,所有的
<create></create>
之间的代码就是配置
ajax
的一些属性,
其中
creator=
”
new
”
表示类的实例是
new
出来的。后面的
include
包含的就是开放给
dwr
可以通过
javascript
访问的类。
Javascipt
中的值就是你要在
jsp
页面编写的
javaScript
代码中使用的函数名。这些都不难可以理解其意思。
这样我们就可以在外面的
jsp
页面上使用了。
现在看看
jsp
是怎么样样的吧
!
这里只把关键的部分拿出来分析以下:
<script src='<%request.getContextPath()%>/dwr/interface/ApartmentDAO.js'></script>
<script src='<%request.getContextPath()%>/dwr/engine.js'></script>
<script src='<%request.getContextPath()%>/dwr/util.js'></script>
<script>
function date(guid) {
ApartmentDAO.getDate(loadTotal2,guid);
}
function loadTotal2(data) {
document.getElementById("today").innerHTML = data;
}
</script>
再看看内部的
java
类的部分代码:
public class ApartmentDAO {
public String getDate(String guid){
Date date = new Date();
return date.toString();
}
}
这个
getDate()
方法返回的是当前的系统时间,很简单。然后通过在
dwr.xml
声明后可以在
jsp
页面中使用
ApartmentDAO.getDate(loadTotal2,guid);
来调用
ApartmentDAO
中的方法了,看他调用的好像有点怪异,明明
ApartmentDAO
中只有一个参数啊。这里用到
javascript
的回掉了。
其实是通过
javascript
的回掉将类里面的返回值在
function loadTotal2(data)
中使用。这里的参数
data
就是
java
类
return
出来的值,这样我们就可以得到
java
类中的返回值后写一些
javascript
了。
以上就完成了简单的
ajax
的使用了,通过这个简单的例子是不是理解
ajax
技术了呢。当然还不够,但这也算是我们的突破口吧,有这样的一会试验后,后面的
ajax
就不是那么神秘呢,归根到底他不就是“
javascript
前台调用后台
java
类”吗?
2
注意要点
首先
web.xml
一定要配置正确,
servlet
一定要正确。
Dwr.xml
中配置类和方法一定要正确。
Jsp
中我们要注意以下一些内容:
<script src='<%request.getContextPath()%>/dwr/interface/ApartmentDAO.js'></script>
<script src='<%request.getContextPath()%>/dwr/engine.js'></script>
<script src='<%request.getContextPath()%>/dwr/util.js'></script>
其中:
<script src='<%request.getContextPath()%>/dwr/engine.js'></script>
<script src='<%request.getContextPath()%>/dwr/util.js'></script>
是一定不能忘的,注意前面我们还要加上
<%request.getContextPath()%>
防止你是在其他的
context
下使用时不正确了,这个细节我以前没有注意,实在是枉弄了半天,以后不能这么粗心大意了。第一句也必须加上,注意
js
的文件名要和类名一致。
好了,注意上面几个部分
dwr
的使用就可以非常轻松了。今天的思考就到这里了。
posted on 2006-09-15 15:24
安文豪 阅读(451)
评论(0) 编辑 收藏 所属分类:
j2ee