`
justry28
  • 浏览: 5901 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

hibernate+dwr+js+html 分页(3)

    博客分类:
  • java
阅读更多
7、PageUtil类
package com.linbs.usermanage.page;

import com.linbs.usermanage.model.User;
import com.linbs.usermanage.service.UserService;
import com.linbs.usermanage.service.impl.UserServiceImpl;

public class PageUtil {
	private static UserService userService = new UserServiceImpl();

	public static Page getPage(int totalRows, int currentPage, String pagerMethod,int pageSize) {
		Page page = new Page(totalRows,pageSize);
		page.refresh(currentPage);
		if (pagerMethod != null) {
			if (pagerMethod.equals("first")) {
				page.first();
			} else if (pagerMethod.equals("previous")) {
				page.previous();
			} else if (pagerMethod.equals("next")) {
				page.next();
			} else if (pagerMethod.equals("last")) {
				page.last();
			}
		}
		return page;
	}
}

8、dwr层接口
package com.linbs.usermanage.controller.dwr;

import java.util.HashSet;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.linbs.core.common.exception.BusinessException;
import com.linbs.usermanage.model.Module;
import com.linbs.usermanage.model.Placard;
import com.linbs.usermanage.page.Page;
import com.linbs.usermanage.service.ModuleService;
import com.linbs.usermanage.service.PlacardService;
import com.linbs.usermanage.service.impl.ModuleServiceImpl;
import com.linbs.usermanage.service.impl.PlacardServiceImpl;

public class PlacardManager {

public List<Placard> getPlacardByPage(int startIndex , int length, Placard placardExample, int moduleId){
		if(moduleId!=0){
			placardExample.setModules(new HashSet(0));
			Module module = new Module();
			module.setId(moduleId);
			placardExample.getModules().add(module);
		}
		return placardService.getPlacardByPage(startIndex, length, placardExample);
	}
	
	public Page getPage(Placard placardExample, int moduleId, int currentPage,int pageSize,String pagerMethod){
		if(moduleId!=0){
			placardExample.setModules(new HashSet(0));
			Module module = new Module();
			module.setId(moduleId);
			placardExample.getModules().add(module);
		}
		int totalRows = placardService.getPlacardLength(placardExample);
		Page page = PageUtil.getPage(totalRows, currentPage,pagerMethod,pageSize);
                return page;
	}
}

9、视图层调用 js:
var cellFuncs = [
		function(data) {
			var str = "<input type=\"checkbox\" name=\"chooseRow\" value=\""+data.id+"\">";
			return str
		}, 
		function(data) {
			return "<a href=\"placardShow.html?placardId="+data.id+"\" target=new>"+data.title;
		}, 
		function(data) {
			return data.publisher;
		}, 
		function(data) {
			var submitTime = data.submitTime;
			if(submitTime!=null)return submitTime.toLocaleDateString();
			else return "";
		}, 
		function(data) {
			var moduleValues = "";
			for (var i = 0; i < data.modules.length; i++) {
				moduleValues = moduleValues + data.modules[i].moduleName;
				if (i != (data.modules.length - 1))
					moduleValues += ";";
			}
			return moduleValues;
		},
		function(data) {
			var oprations = "";
			if(data.status==0) 
			 oprations += "<a href=\"#\" onclick=\"changePlacardStatus(true,'"+data.id+"')\">设为最新</a>&nbsp;&nbsp;";
			else oprations += "<a href=\"#\" onclick=\"changePlacardStatus(false,'"+data.id+"')\">取消最新</a>&nbsp;&nbsp;";
			oprations += "<a href=\"#\" onclick=\"showUpdatePlacardLayer('"+data.id+"')\">修改</a>&nbsp;&nbsp;";
			oprations += "<a href=\"#\" onclick=\"deleteOnePlacard('"+data.id+"')\">删除</a>";
			return oprations
		}
];

var page;
var placardSample;
var moduleSample;
var pageSize =15;
function getPlacardInfo(placard,moduleId,currentPage,pagerMethod) {
	placardSample = placard;
	moduleSample = moduleId;
//取得页面Page
PlacardManager.getPage(placard,moduleId,currentPage,pageSize,pagerMethod,function(data){
		page = data;
		setPageMenu(page, $('pageMenu'));
//根据Page取得当前页面公告
PlacardManager.getPlacardByPage(page.startIndex,page.pageSize,placardSample,moduleSample,function(result){
			showPlacardInfo(result);
		});		
	});
}
//显示公告信息
function showPlacardInfo(data){
	dwr.util.removeAllRows("placardInfo");
	dwr.util.addRows("placardInfo", data, cellFuncs, {
				cellCreator : function(options) {
					var td = document.createElement("td");
					td.align = 'center';
					return td;
				},
				escapeHtml : false
	});
}

/**
 * 分页标签
 * @param {} page
 * @param {} pageMenu
 */
function setPageMenu(page, pageMenu) {
	var menuInfo = "";
	menuInfo += "共" + page.totalRows + "条记录" + " 共" + page.totalPage + "页 当前第"
			+ page.currentPage + "页";
	menuInfo += " <a href=\"#\" onclick=\"getPlacardInfo(placardSample,moduleSample," + page.currentPage
			+",'first')\">首页</a>";
	if (page.hasPrePage) {
		menuInfo += " <a href=\"#\" onclick=\"getPlacardInfo(placardSample,moduleSample," + page.currentPage
			+",'previous')\">上一页</a>";
	}
	if (page.hasNextPage) {
		menuInfo += " <a href=\"#\" onclick=\"getPlacardInfo(placardSample,moduleSample," + page.currentPage
			+",'next')\">下一页</a>";
	}
	menuInfo += " <a href=\"#\" onclick=\"getPlacardInfo(placardSample,moduleSample," + page.currentPage
			+",'last')\">末页</a>";
	pageMenu.innerHTML = menuInfo;
}
/**
 * 查询公告
 */
function queryPlacard(){
	var title = $('titleSample').value;
	var publisher = $('publisherSample').value;
	var module = $('modulesInfo').value;
	var placard={modules:[]};
	if(!isNull(title)) placard.title = title;
	if(!isNull(publisher)) placard.publisher = publisher;
	getPlacardInfo(placard,module,1,pageSize,"");
}

10、页面jsp:
<table width=99%
						style="margin-top: 5px; margin-bottom: 5px; margin-left: 5px; margin-right: 5px;">
						<tr>
							<td>
								标题:
								<input type="text" id="titleSample">
							<br></td>
							<td>
								发布人:
								<input type="text" id="publisherSample">
							<br></td>
							<td>
								所属模块:
								<select id="modulesInfo">
									<option value="0">
										--所有--
									</option>
								</select>
							<br></td>
							<td>
								<input type="button" value="查询" onclick="queryPlacard();">
							<br></td>
						</tr>
					</table>
					<table width=99% style="margin-top:5px;margin-bottom:5px;margin-left:5px;margin-right:5px;">
						<thead>
							<tr>
								<th>&nbsp;<br></th>
								<th>标题<br></th>
								<th>发布人<br></th>
								<th>修改时间<br></th>
								<th>所属模块<br></th>
								<th>&nbsp;<br></th>
							</tr>
						</thead>
						<tbody id="placardInfo">
						</tbody>
						<tfoot>
							<tr>
								<td colspan="6" align="right">
									<div id="pageMenu"></div>
								</td>
							</tr>
						</tfoot>
					</table>
					<table width=99% style="margin-top:5px;margin-bottom:5px;margin-left:5px;margin-right:5px;">
						<tr>
							<td><input type="checkbox" id="isChooseAll" onclick="chooseAll();">全选
								 &nbsp;
								<input type="button" value="删除选中公告" onclick="deletePlacards();">
								&nbsp;
								<input type="button" value="将选中公告设为最新" onclick="changePlacardsStatus();">
							<br></td>
						</tr>
					</table>	
分享到:
评论
2 楼 hansonmo 2008-10-21  
zcjava 写道
.... 能不能发个工程出来啊。

同问!

整个项目发出来可看的更清楚!

感谢LZ辛勤劳动
1 楼 zcjava 2008-10-21  
.... 能不能发个工程出来啊。

相关推荐

    struts+spring+hibernate+dwr+分页例子

    在这个“struts+spring+hibernate+dwr+分页例子”中,我们将深入探讨这四个框架的集成以及分页功能的实现。 1. **Struts**: Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。它主要负责处理...

    影院信息查询(java+jsp+hibernate+dwr框架+分页技术+ajax+oracle)

    【标题】:“影院信息查询(java+jsp+hibernate+dwr框架+分页技术+ajax+oracle)”是一个综合性的Web应用项目,它利用了一系列先进的技术和工具来实现对影院信息的高效、交互式查询。这个项目的核心在于,它展示了...

    Hibernate+Spring+DWR分页(原创)

    《整合Hibernate、Spring与DWR实现超强分页功能详解》 在现代Web开发中,提供高效、用户体验良好的分页功能是必不可少的。本教程将深入探讨如何利用Hibernate作为持久层框架,Spring作为应用层框架,以及Direct Web...

    Struts新闻管理系统(hibernate+DWR)

    3. Direct Web Remoting (DWR):DWR允许在JavaScript和Java之间进行实时的、安全的、跨域的通信,类似于Ajax但更强大。DWR通过动态生成JavaScript库,使得前端可以直接调用后端的Java方法,极大地提高了Web应用的...

    ssh+dwr分页。。

    4. **前端交互**:在HTML页面中,使用JavaScript(可能是jQuery或其他库)处理用户点击分页链接的事件,调用DWR映射的JavaScript函数,传入当前页码和每页大小。 5. **展示数据**:接收到服务器返回的分页数据后,...

    ssh+dwr分页程序实现

    在文件"PageDivision"中,可能包含了SSH框架的配置文件(如struts.xml、spring.xml、hibernate.cfg.xml)、Java源代码(如Controller、Service、DAO类)、DWR配置文件(dwr.xml)、以及相关的HTML和JavaScript文件。...

    ssh(struts,hiberate,spring)++dwr分页

    1. **前端设计**:使用HTML和JavaScript构建分页界面,DWR提供API来发送Ajax请求。 2. **后端处理**:Struts Action接收到请求后,根据请求参数(如当前页码和每页记录数)调用Spring管理的Service层方法。 3. **...

    dwr+hibernate实现的分页技术

    ### dwr+hibernate实现的分页技术详解 在当今快速发展的互联网环境中,网站和应用程序需要处理大量的数据。为了提高用户体验并优化服务器资源利用,分页技术成为了必不可少的一部分。本文将详细介绍如何通过结合dwr...

    dwr+struts+hibernate+jquery tomcat日志查询系统

    【标题】"dwr+struts+hibernate+jquery tomcat日志查询系统"是一个基于Web的应用程序,主要用于实时、高效地查询Tomcat服务器的日志内容,并且具备分页功能,提供良好的用户体验。这个系统整合了多个技术框架,下面...

    SSH+DWR综合实例

    通过SSH框架,可以利用Hibernate的Criteria或HQL查询实现数据的分页获取,同时在前端使用DWR调用服务器端的方法,获取指定页码的数据,动态加载到页面上,提供流畅的用户体验。 2. **AJAX页面无刷新**:DWR的核心...

    EXTJS+S2SH+DWR

    3. DWR (Direct Web Remoting):DWR 是一个JavaScript库,允许JavaScript代码直接调用服务器端的Java方法,实现AJAX(Asynchronous JavaScript and XML)通信。这使得页面无需刷新就能更新数据,提升用户体验。在...

    ExtJs+Dwr带分页分组传参后台排序功能的grid

    在本文中,我们将深入探讨如何实现一个基于ExtJS和Direct Web Remoting (DWR)的带分页、分组及后台排序功能的Grid组件。这个功能整合了多种技术,包括ExtJS、DWR、Spring和Hibernate,以创建一个高效且灵活的数据...

    DWR+jquery2.x+easyUI1.3.x开发富客户端应用

    1. **SSH+jQuery+DWR+EasyUI 实战**:本文档通过一系列的实战案例展示了如何将 Struts2、Spring3、Hibernate4 与 DWR、jquery2.x 和 easyUI1.3.x 结合起来开发实际的应用。 2. **实战案例详解**: - SSH 架构集成...

    高效率的dw+spring+hibernate分页演示例子

    - DWR集成:配置DWR的`dwr.xml`文件,暴露Java方法供JavaScript调用,可能包括获取分页数据的接口。 - 页面前端:使用JavaScript调用DWR暴露的方法,动态加载分页数据,更新UI。 - 事务管理:Spring的事务管理器确保...

    dwr与hibernate实现的分页

    关键JS代码已经加入注释,方便理解. 数据库结构比较简单,可以参照hibernate映射文件自己创建数据库,也可以使用文件下的sql脚本生成数据库. IDE:myeclipse 6.0.1 数据库: sqlserver2000

    DWR+Hibernian分页所需类文件

    本压缩包文件包含的类文件主要用于实现DWR与Hibernate结合进行数据分页的功能。下面我们将详细探讨这些知识点。 首先,DWR是一种JavaScript库,它允许在客户端的JavaScript代码和服务器端的Java代码之间进行实时的...

    基于DWR、Hibernate、Spring实现的分页(二)

    在本篇博文中,我们将深入探讨如何利用DWR(Direct Web Remoting)、Hibernate和Spring框架来实现一个高效的分页功能。这些技术都是Java Web开发中的关键组件,它们各自扮演着不同的角色,共同构建出强大的后端系统...

    DWR_Hibernian分页类文件

    4. **JavaScript分页UI**: - 创建一个用户友好的分页界面,通常包括“上一页”、“下一页”按钮,页码选择器等元素。 - 使用JavaScript监听这些元素的事件,当用户交互时,通过DWR调用服务器端的分页方法,动态...

    Displaytag dwr 分页

    在"Displaytag dwr 分页"的应用中,Hibernate 可能被用来从数据库中检索和操作数据,这些数据随后通过Spring管理的Bean传递给DWR,由DWR进一步传递给前端的Displaytag表格进行展示和分页。 Maven 是一个项目管理和...

    dwr无刷新分页特地奉献

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行交互,实现了AJAX(Asynchronous JavaScript and XML)的功能,无需页面刷新即可更新部分网页内容。在这个项目中,"dwr无刷新分页...

Global site tag (gtag.js) - Google Analytics