这是一个自己前些天写的例子,现在直接切入主题。
(图一 代码调用流程图)
以上是大致整个流程的调用过程。得到后台数据的方法主要是基于Ajax实现的,那么,在此使用了DWR框架,对于DWR框架的介绍,大家可以利用Google进行搜索,它主要是方便我们在前台页码利用Javascript去调用后台的Java代码。在示例中的话,我是利用了DWR中StudentUtils的paginationAllStudent()获得数据并在前台显示,而这个paginationAllStudent()方法,就是对应与后台Java代码中的StudentinfoDAO.paginationAllStudent()方法。这里只是类名的不同,因为在DWR配置文件中进行了配置。
接下来分析一下主要的代码。
(1)PaginationSupport类,具体代码实现不写,主要用于封装当前页面信息。如:当前第几页,共多少条记录,前后页索引等。
public class PaginationSupport implements java.io.Serializable {
public final static int PAGESIZE = 10;
private int pageSize = PAGESIZE;
private int totalCount;
private int currentPage;
private int startIndex;
private int[] indexes = new int[0];
private int nextIndex;
private int previousIndex;
private int pageCount;
private List items; //存放从数据库取得的数据
private int lastIndex;
....
....
}
(2)StudentinfoDAO类中的paginationAllStudent()方法,主要是用于获得数据,返回PaginationSupport类型,
(3)DWR配置文件
<!--因为我使用了Spring,所以采取了这种方式-->
<create creator="spring" javascript="StudentUtils">
<param name="beanName" value="studentinfoDAO" />
</create>
<!--如果一般情况下,使用以下配置就可以了-->
<create creator="new" javascript="Demo">
<param name="class" value="your.java.Bean" />
</create>
<!--转换前台获得数据可能用到的JavaBean-->
<!--效果即可以使用以下类中的getXXX方法在前台得到数据-->
<convert match="org.wiki.student.utils.PaginationSupport" converter="bean"/>
<convert match="org.wiki.student.domain.models.*" converter="bean"/>
(4)前台页面Javascript代码
function getData(startIndex){
//调用DWR中的方法获得数据,startIndex翻页索引
//假如每页5条数据,那么第一页为0,第二页为5...
//callback为DWR中的回调函数,用于获得数据
StudentUtils.paginationAllStudent(startIndex, callback);
}
//定义回调函数,即如何显示数据
function callback(data){
//这里采用dwr工具包util中方法进行数据输出
//注意这里的data参数,出现多次,并非指同一个对象
//首先清空页面中id为tableContent的tbody标签数据
dwr.util.removeAllRows("tableContent");
//定义数据输出方式的一个函数组。
//以下data参数其实可以自己任意命名
var cellfuncs = [function(data){
//获得当前数据,并构建一个超链接
var aTemp = document.createElement("a");
aTemp.href="${pageContext.request.contextPath }/student/course.do?sid="+data.stuid;
aTemp.innerHTML=data.stuid+"查看详情";
return aTemp;},
function(data){return data.stuno;},
function(data){return data.stuname;},
function(data){
//后台数据为m或w 字符,在此格式化输出
if(data.sex=='m')
return '男';
else
return '女';
},
function(data){ return data.fomartDate;},
function(data){return data.address;},
function(data){return data.telephone;},
function(data){return data.remark;},
]
//为id是tableContent的tbody填充数据,数据集存放在data.items,
// 填充的输出方式为cellfuncs
dwr.util.addRows("tableContent",data.items,cellfuncs);
}
以上基本上是主要涉及的代码,可能还会涉及到一些页面初始化的Javascript,需要的可以联系我。
- 大小: 31 KB
分享到:
相关推荐
NULL 博文链接:https://wikimo.iteye.com/blog/356833
1、在dwr中尝试编写的一些通用的代码,包括如何编写一个通用的列表显示框并实现分页、如何编写一个通用的单行编辑框、如何编辑一个通用的存盘和删除程序等等。 <br>2、在dwr中如何与spring兼容,调用bus中的方法...
重磅推出 struts+spring+hibernate+dwr整合分页例子
超强分页 无刷新: 已实现功能:增,删,改,分页 排序 批量(增,删,改)
struts hibernate spring 分页 ssh 控件 实验室 管理 系统 , dwr ,ajax 个人的毕业设计,还是很不错的,
其中edit-grid2.html页面中的数据是利用dwr调spring,进过spring中的业务方法掉hibernate来操作数据库完成的,涉及数据库的增,删,改,查。 涉及分页。利用到了PagingDWRProxy,DWRProxy等。 是在以前发的一个例子...
dwr+spring+hibernate分页演示例子.对dwr框架有兴趣可以参考参考。
涉及分页表格,权限,邮件,增上改查等等。
主要包含:这个主要用到ExtJS+DWR+Spring+Hibernate,主要包括浏览页(usernamerecord.jsp),脚步文件(usernamerecord.js),dwr分页代理脚本文件(dwrproxy.js),实体类(Record.java),Dao接口(RecordDao),...
Struts2 Spring3.0 Hibernate3.3 全注解配置,避免了大量业务类在Spring文件的配置,整合了DWR3.0,displayTag 物理分页技术的实现。树形菜单。 另外数据库,在下一个资源;由于20MB的限制。 有问题的话留言。
jar包:项目中除了使用了struts2,hibernate3.0和spring1.8以外(用spring2.0的包也可以.不能低于1.8的包.)还是用了junit,ajax,第三方的table组件.等等.所以需要下载相对应的包. 为了上传jar.我专门申请了一个网盘.所有...
1 基于SSH,service采用 annotation注入减少配置 2 利用struts2 的LoginAction-validation.xml 3 在bean里把service包;暴露DWR,写了一个验证用户名的流程 4 采用jpa作为POJO,还是减少配置 5 加入display的分页,并且...
struts2+spring2.5+hibernate3.2整合所需的所有jar包,并额外包含了dwr.jar、分页组件pager-taglib、绘图组件jfreechart.jar、Excel解析工具包jxl.jar、数据库连接池工具包proxool.jar
3.7.2 基于dwr的ajax实现 179 3.7.3 基于dwr的ajax表单验证 183 3.7.4 基于json插件的ajax实现 185 3.8 小结 190 第4章 orm中间件名流hibernate 3接管持久层 191 4.1 orm简介 191 4.1.1 持久化与持久层 191 ...
Displaytag+ spring+ hibernatedwr maven管理工程
struts2+spring2.5+hibernate3.2+dwr+MySQL驱动包 把上述包导了就没错了。 打包有个user.txt为数据库导出的,你导入mysql就行,里面的图片路径你没有,所以不会有图片,不用理会。test文件夹则是项目。 代码全,...
功能:使用dwr完成在客户端无刷新的分页排序等 <br>工具:MyEclipse 6.0,数据库SQLSERVER 2000 <br>数据在SQL文件夹下,Jobs是pubs数据库自带的 <br>主要的三个页面,emp是详细的,另两个是简单的复制修改,...
后台是hibernate-annotations和spring以及dwr的组合。 顺便演示了一下用servlet来返回json数据给ext框架的方式。 <br>在grid的演示部分,包括了分页的数据调用和如何处理来自于dwr的数据(dwr的部分和...
19.2.2 分页实现 99 19.2.3 DAO 组件的实现 101 19.2.4 配置 DAO 组件 105 19.3 实现业务逻辑组件 105 19.3.1 业务逻辑组件的接口 105 19.3.2 业务逻辑组件的实现类 107 19.3.3 配置业务逻辑组件 111 19.4 在...