DWR 下的脚本分页
好久没有上来写东西,最近在写关于DWR的项目,出现了一点问题,就是脚本分页,在网上找了许久,都没有找到
所以还是动手写一个吧
呵呵!懒人没有办法 ^_^ !
首先是HTML,静态页,我在这就随便写一个吧。就是为了实现功能而已!这个页面是为了实现从数据库读出来
用户的相关信息,然后实现修改!
----------stone HTML start -----------
<html>
<head>
<script type="text/javascript" language="javascript" src="../dwr/interface/UserService.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/interface/CorpService.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/interface/CopyrightService.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/interface/SearchEngine.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/engine.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/util.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/interface/BackstageService.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/interface/Backstage.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/interface/UserDbManager.js"></script>
<script type="text/javascript" language="javascript" src="../dwr/interface/User.js"></script>
<script type="text/javascript" language="javascript" src="report.js"></script>
</head>
<body onload="init()">
<table width="100%" border="0" cellspacing="2">
<tr>
<td valign="top">
<div style="width:100%"; margin-top:-5px;">
<table width="100%" align="center" cellpadding="0" cellspacing="0" border="0" bgcolor="#C3D9FF" style="margin-bottom:5px;">
<tr>
<td>
<div style="width:100%">
<table>
<tr>
<td>
<div id="content-div" style="height:260px;"><b style="font-weight:bold;color:green;">此处为用户操作</b><br/>
<table border="1" class="rowed">
<thead>
<tr>
<th>用户名称</th>
<th>用户邮箱</th>
<th>手机</th>
<th colspan="2">操作</th>
</tr>
</thead>
<tbody id="peoplebody">
</tbody>
</table>
</div>
</table>
</div>
</table>
</div>
</table>
<div id="--copyright" class="copyright"></div>
<div id="edit-user-div" style="position:absolute; width:260px; border:solid 1px red; background-color:tomato; display:none;">
<div id="edit-user-div-content" style="width:100%;"></div>
<hr/>
<button onclick="editUser()">修改</button>
<button onclick="$('edit-user-div').style.display='none';">取消</button>
</div>
</body>
</html>
--------------stone HTML end ---------------------------------------
那么就开始真正的脚本实现了。由于DWR是静态和脚本联合的东西。那么我们在脚本要实现一个动态的LIST查询
--------------stone Script start-----------------------------
function init() {
username = false;
email = false;
cellphone = false;
if ($('--copyright') != null) {
CopyrightService.get(function(data) {
$('--copyright').innerHTML = data;
});
}
BackstageService.getAllUsers(function(userList) {
_corps=userList;
_pageData=userList;
var ttt='';
var count=0;
_page=1;
var s = '';
for (var user in userList) {
count++;
if(count>10){
continue;
}
var u = userList[user];
s += '<tr><td>' + u.username + '</td>';
s += '<td>' + u.email + '</td>';
s += '<td>' + u.cellphone + '</td>';
s += '<td> <input type="button"value="修改" onclick="showEditDiv(\'' + u.username + '\',\'' + u.email + '\',\'' + u.cellphone + '\');"/> '
+ '</td>';
s += '<td> <input type="button"value="删除" onclick="delUser(\'' + u.username + '\');"/>'
+ '</td>';
}
_pageCount=count;
if(count==0){
ttt='没有找到记录';
}
else{
var tmp='<div style="width:99%;font-size:9pt;text-align:right;">';
if(count>10){
tmp +='第<b style="color:green;">1</b>页 共<b>'+(Math.ceil(_pageCount/10))+'</b>页';
tmp +=' ';
tmp +='<a href="#" style="color:black;" onClick="showPage(2)">下页</a>';
tmp +=' ';
tmp +='<a href="#" style="color:black;" onClick="showPage('+(Math.ceil(_pageCount/10))+')">末页</a>';
}
tmp +='</div>';
tmp +='<div style="width:99%; font-size:10pt; text-align:right;"><br/>共<b style="color:green;">'+count+'</b>条记录';
tmp +='</div>';
ttt +=tmp;
}
var tb = $('peoplebody');
tb.innerHTML = s;
$('content-div').innerHTML=ttt;
});
}
------------------下面是分页显示的脚本--------------------
function showPage(page){
$('content-div').innerHTML='<span style="color:gray;font-size:9pt;">载入中...</span>';
_page=page;
var ttt='';
var count=0;
var total=Math.ceil(_pageCount/10);
for(var no in _pageData){
count++;
if(count>10*page||count<=(page-1)*10){
continue;
}
}
var tmp ='<div style="width:99%; font-size:9pt; text-align:right;">';
if(page>1){
tmp +='<a href="#" style="color:black;" onClick="showPage(1)">首页</a>';
tmp +=' ';
tmp +='<a href="#" style="color:black;" onClick="showPage('+(page-1)+')">上页</a>';
tmp +=' ';
}
tmp +='第<b style="color:green;">'+_page+'</b>页 共<b>'+total+'</b>页';
if(page<total){
tmp +=' ';
tmp +='<a href="#" style="color:black;" onClick="showPage('+(page+1)+')">下页</a>';
tmp +=' ';
tmp +='<a href="#" style="color:black;" onClick="showPage('+total+')">末页</a>';
}
tmp +='</div>';
tmp +='<div style="width:99%;font-size:10pt;text-align:right;"><br/>共<b style="color:green;">'+count+'</b>条记录';
tmp +='</div>';
ttt +=tmp;
$('content-div').innerHTML=ttt;
}
由于我的实现是一个脚本的分页,所以并没有在后台或者JAVA上实现。这个是存脚本实现的DWR分页
技术有限,希望大家给予指点!
By:stone
分享到:
相关推荐
- **安全性**:确保DWR配置中只暴露必要的方法,避免敏感信息泄露,同时可以设置过滤机制防止跨站脚本攻击(XSS)。 8. **示例代码** - `PageBean.java`: 包含分页所需的方法,如`getTotalRecords()`和`...
在实际应用中,要注意DWR的性能优化,比如批量处理请求,以及防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等安全问题。DWR提供了安全配置选项,如设置白名单、使用安全过滤器等,确保只有授权的JavaScript可以...
同时,确保DWR的安全性,限制可调用的方法,防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。 综上所述,DWR不仅能够帮助我们实现分页功能,还可以方便地进行数据的增、删、改操作。结合前端UI设计,可以构建出...
在这个"Dwr分页技术案例分析"中,我们将深入探讨如何利用DWR实现高效、用户友好的分页功能。 首先,分页是大型数据集展示时常见的需求,它可以提高页面加载速度,优化用户体验。DWR提供了便捷的方法来实现在客户端...
关键JS代码已经加入注释,方便理解. 数据库结构比较简单,可以参照hibernate映射文件自己创建数据库,也可以使用文件下的sql脚本生成数据库. IDE:myeclipse 6.0.1 数据库: sqlserver2000
【标题】:“影院信息查询(java+jsp+hibernate+dwr框架+分页技术+ajax+oracle)”是一个综合性的Web应用项目,它利用了一系列先进的技术和工具来实现对影院信息的高效、交互式查询。这个项目的核心在于,它展示了...
- 客户端脚本:引入DWR生成的JavaScript库,使用DWR API调用服务器端方法,实现无刷新联动和分页功能。 - 测试和调试:使用DWR提供的控制台工具进行测试,确保通信正常。 压缩包中的文件可能包含了示例代码、教程...
3. **安全性考虑**: 使用DWR时,应关注跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等安全问题,确保服务端接口的安全性。 通过以上步骤,我们可以使用DWR和Ajax技术实现一个高效、流畅的无刷新分页功能。在实际开发中,...
2. **安全机制**:DWR提供了安全机制,如白名单机制,确保只有授权的Java方法可以被JavaScript调用,防止跨站脚本攻击(XSS)和其他安全风险。 3. **AutoComplete**:DWR提供了一个自动补全组件,可以用于搜索框中...
这个"Dwr入门工程和分页显示"的资源包提供了一个基础的示例,帮助初学者理解DWR的工作原理以及如何利用DWR实现数据库分页显示。 首先,让我们深入了解DWR。DWR的核心功能是通过AJAX(Asynchronous JavaScript and ...
这个“dwr.rar_dwr”文件很可能包含了一个DWR的实例,以及一个用于演示AJAX(Asynchronous JavaScript and XML)技术的分页程序。在学习AJAX时,DWR可以作为强大的工具,因为它简化了前后端交互,使得动态更新网页变...
DWR的一个关键特性是能够在不刷新页面的情况下更新页面部分。对于树形结构,这意味着可以添加、删除或修改节点,而不会影响其他内容。例如,可以添加一个JavaScript函数来处理节点的点击事件,根据用户的选择异步地...
- **数据表格动态加载**:在数据量较大的表格中,DWR可以实现分页加载和动态更新,提高用户体验。 - **表单验证**:在客户端填写表单时,可以利用DWR即时验证输入数据的合法性,减轻服务器负担。 - **地图应用**:在...
9. **安全考虑**:DWR虽然方便,但也有安全风险,比如跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。在实现DWR分页时,确保遵循安全最佳实践,对用户输入进行验证,并使用合适的防止措施。 通过学习和理解以上知识点...
对于敏感数据,需要确保DWR调用的安全性,防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等。 总的来说,DWR提供了一种强大的工具,使开发者能够轻松地构建富客户端应用,实现动态、高效的前后端交互。理解并熟练...
9. **安全性**:DWR虽然提供了方便的实时通信,但也引入了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的风险。因此,应确保对DWR调用进行适当的权限验证和安全控制。 10. **调试与日志**:DWR提供了一些调试工具和...
在Eclipse环境下,开发者可以创建一个包含DWR配置和EXTJS脚本的Web工程。首先,你需要在DWR配置文件(dwr.xml)中声明允许被调用的Java类和方法。然后,在EXTJS的JavaScript代码中,你可以使用DWR的API来调用这些...
此外,DWR提供了安全性控制,如CSP(Content Security Policy)和白名单机制,以防止跨站脚本攻击。 3. **引擎(Engine)**:DWR引擎是连接JavaScript和Java之间的桥梁。它负责处理请求、映射调用、转换数据类型,...
3. **配置DWR**:在项目的Web-INF目录下创建dwr.xml文件,配置需要暴露给JavaScript的Java类和方法。 4. **编写JavaScript代码**:在HTML或JavaScript文件中,利用DWR提供的API,如`DWREngine`,来调用服务器端的...
4. **`Cage`**:安全组件,用于防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。 **DWR的工作流程:** 1. **配置**:在服务器端,需要在DWR配置文件中声明允许被调用的Java类和方法。 2. **编译**:DWR会根据配置...