dwr的基本运用

Tips:纯三段式的ajax一直没怎么使用过,还是喜欢使用dwr

[b][size=large]一、在web.xml中配置dwr[/size][/b]
[quote]
<!-- 添加dwr配置 -->
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>[color=red]org.directwebremoting.servlet.DwrServlet[/color]</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>java.lang.Object</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!-- 上下文监听器:是否初始化 -->
<listener>
<listener-class>
[color=red] org.springframework.web.context.ContextLoaderListener[/color]
</listener-class>
</listener>
<!-- 认识上下文环境 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>[/quote]

[size=large][b]二、编写dwr.xml[/b][/size][quote]<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<!-- dwr.xml中在dwr下面[color=red]只能带一个allow对象[/color],所有的对象函数声明均放在这个对象下面 -->
<allow>
<!-- 创建一个IUserinfo.js文件-->
<create javascript="IUserinfo" creator="spring">
<param name="beanName" value="IUserinfo" />
<include method="checkUserName" />
<include method="checkPswd" />
<include method="checkLogin" />
</create>
<!-- 方法返回集合,集合的数据从Object转成Userinfo类 -->
<convert match="com.us.Dao.Userinfo" converter="bean"/>

<!-- 创建一个IArticle.js-->
<create javascript="IArticle" creator="spring">
<param name="beanName" value="IArticle" />
<include method="getPageData" />
<include method="getTotalPage" />
</create>
<convert match="com.us.Dao.Article" converter="bean"/>

</allow>
</dwr>[/quote]

[b][size=large]三、测试是否成功[/size][/b]

[img]http://dl.iteye.com/upload/attachment/339580/44e8055a-39fd-37b2-8fd4-5910a6c5b8b3.jpg[/img]

PS:点击进去里面封装了所有的方法(如下图所示)

[img]http://dl.iteye.com/upload/attachment/339582/56faa246-ad33-3c35-9581-83b5c2ec0226.jpg[/img]

PS:输入参数,单击“Execute”按钮执行,可以查看执行结果.

[b][size=large]四、在页面中的使用[/size][/b]
[b]1、引入生成的js文件[/b]
[quote]<script type='text/javascript' src='/BlogOnline/dwr/interface/IArticle.js'></script>[/quote]

[b]2、实现数据的同步交互[/b]
<script language="javascript">
//显示分页加载的数据
function selectPageData()
{
var pageId = 1;
IArticle.getPageData(pageId,4,backList);
}
function backList(list)
{
clear();
alert(list.size());
for(var i=0;i<list.size();i++)
{
var row = document.createElement("tr");
var cloTitle = document.createElement("td");
cloTitle.innerText = list[i].title;
row.appendChild(cloTitle);
tabBody.appendChild(row);
}
}
//清空表格数据
function clear()
{
if(tabBody.childNodes.length>0)
tabBody.removeChild(tabBody.firstChild);
}
</script>

[b]3、在页面加载中进行调用[/b]
<body background="" onLoad="selectPageData()">

[b]4、局部更新[/b]
[quote]<table width="100%" border="0" align="right" bgcolor="#FFFFFF" >
<tr>
<td height="26" align="left" background="images/titleBg.jpg" valign="middle">博文 [管理]</td>
</tr>
<tr>
<td height="443">
<div id="showArticlesDiv" style="position:absolute; left: 263px; top: 53px; width: 416px; height: 423px;">
[color=red] <table width="100%" border="0" align="center">
<tbody id="tabBody"></tbody>
</table>[/color]
</div>
</td>
</tr>
<tr>
<td>
<form name="form2" method="post" action="">
<table width="90%" border="0" align="center">
<tr>
<td align="center">共<span id="totalPage"></span> 页 第<span id="pageId"></span>页 首页 上一页 下一页 尾页 跳至
<input type="text" name="goto" size="3">
页 <img src="images/pagego.gif"/></td>
</tr>
</table>
</form>
</td>
</tr>
</table>[/quote]

PS:这里分页没有实现
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值