相信对JSF有一定了解的童鞋,都知道怎么用dataGrid显示数据,一般情况我都是用的都是客户端分页,闲来无事按照例子写了个服务器端分页,话不多说,贴代码:
@Inject(value = "employeeSpringService")
private IEmployeeService es;
@Bind(id = "grid", attribute = "value")
private GridDataProvider dataProvider = new CachedPagedDataProviderAdapter(
new CachedPagedDataProvider() {
@Override
public Object getData(int start, int limit) {
return es.limitQuery(start, limit).toArray();
}
@Override
public int getTotalCount() {
List list=es.getTotal();
return ((Long)list.get(0)).intValue();
}
});
public List<Employee> limitQuery(int start,int limit) {
logger.debug("finding the queried Employee instances");
try {
DetachedCriteria dc=DetachedCriteria.forClass(Employee.class);
List<Employee> results = (List<Employee>) getHibernateTemplate().findByCriteria(dc, start, limit);
logger.debug("find queried successful, result size: " + results.size());
return results;
} catch (RuntimeException re) {
logger.error("find queried failed", re);
throw re;
}
}
public List getTotal() {
logger.debug("finding the queried Employee instances");
try {
List results =getHibernateTemplate().find("select count(*) FROM Employee");
logger.debug("find queried successful, result size: " + results.size());
return results;
} catch (RuntimeException re) {
logger.error("find queried failed", re);
throw re;
}
}
主要就是getHibernateTemplate().findByCriteria()方法。。。
分享到:
相关推荐
在分页上下文中,"纯js分页"意味着分页逻辑主要在客户端JavaScript中实现,而不是服务器端。这种实现方式的优点在于减少了服务器与客户端之间的通信,从而提高了页面响应速度。然而,这也意味着所有的数据需要一次性...
这个"Richface实现服务器端分页Demo"将帮助我们理解如何利用Richface来优雅地处理大量数据的展示问题。 首先,让我们了解一下服务器端分页的重要性。在处理大数据集时,一次性加载所有数据可能导致页面响应速度变慢...
1. **JSF**: JavaServer Faces 是一个用于构建服务器端基于组件的应用程序的标准Java EE技术。它支持构建复杂的用户界面并提供了一套丰富的标准组件。 2. **自定义渲染器**: 在JSF中,渲染器是用于渲染HTML标记的类...
2. **后端处理**:在服务器端,我们需要根据用户的请求(例如,点击“下一页”按钮)来计算和返回相应的数据页。这通常涉及到对数据库查询的调整,如添加`LIMIT`和`OFFSET`子句来限制返回的数据量。 3. **模型管理*...
动态分页的基本原理是根据用户请求的页码,从服务器端获取对应的数据子集,然后在客户端展示。在JSF中,这通常涉及到以下几个步骤: - **后端数据处理**:服务端需要计算总记录数,并根据当前页码和每页显示的记录...
在这个项目中,可能使用了`h:inputText`来获取用户输入,`h:commandButton`来触发服务器端操作,以及`p:dataTable`来展示分页数据。 2. **CRUD操作**:CRUD是数据库操作的基础,这个系统实现了对人员信息的增删改查...
**JSF(JavaServer Faces)** 是一个Java平台上的Web应用程序框架,用于构建用户界面,尤其是在前后端数据交互方面有着强大的功能。JSF的核心概念是组件模型,它提供了丰富的UI组件,通过HTML和XML标记(即JSF标签)...
传统的分页实现方式一般包括以下步骤: 1. 用户点击页码或使用导航按钮。 2. 客户端发送请求到服务器,包含当前页码和每页条目数等信息。 3. 服务器根据请求参数查询数据库,返回对应页的数据。 4. 服务器响应数据,...
JSF在设计上考虑到了与工具的紧密配合,使事件能够轻松地与服务器端代码相绑定,同时提供了易于扩展的机制,以及管理用户界面状态的能力。 二、JSF的设计模式与架构:JSF遵循经典的Model-View-Controller (MVC) ...
而后端分页则在服务器端完成,服务器只返回所需页面的数据。后端分页更适合大数据量的情况,因为它避免了传输大量不必要的数据。 **上传** 文件上传功能让用户能够将本地文件发送到服务器,常见于社交媒体、云存储...
1. **JavaServer Faces (JSF)**:JSF是一种Java Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,简化了UI组件的创建和管理,提供服务器端处理的表单验证和事件处理。 2. **AJAX技术**:AJAX允许网页在不...
这种模型使得开发者能够在服务器端管理UI的状态,并实现更高级的功能,如表单验证和数据绑定。 **5. 生命周期管理** JSF具有明确的生命周期,其中包括多个阶段,如恢复视图、应用请求值、处理验证、更新模型值等。...
3. **安全**:由于JavaScript可以直接调用服务器端的方法,所以DWR提供了安全机制,如白名单、签名等,防止恶意调用。 4. **回调**:当服务器端方法执行完毕,DWR会通过回调函数将结果传回给浏览器,更新页面。 **...
Java Server Faces (JSF) 是一个由Java社区创建并维护的服务器端的Web应用程序开发框架,主要用于构建用户界面。JSF的设计目标是简化Web应用程序的开发,提高代码的可维护性和可重用性,尤其适合于中型或小型系统的...
在`richfaces3.3.1`中,这通常需要配合`jsf`的`a4j`扩展库,利用JavaScript和AJAX技术实时更新服务器端数据。 为了实现行拖动,我们需要在`<rich:table>`组件中添加`dragSupport`和`dropSupport`属性,并设置相应的...
在本课程中,你将了解如何编程提交按钮,使其能够响应用户的点击事件,调用服务器端的方法来处理数据。 - **课程1.6:创建更新页面** 更新页面允许用户修改现有的数据库记录。你将学习如何设计和实施这样的页面,...
#### 四、JSF数据表控件分页实现 文档详细介绍了如何在JSF框架中为数据表控件实现分页功能。具体来说,采用了以下步骤: 1. **选择实现方式**:文档选择了在程序代码中实现数据分页,而不是通过数据库存储过程实现...
这些标签通常被命名为以“hx:”为前缀的自定义组件,目的是为了提供更丰富的用户体验和更强大的服务器端交互。本文将深入探讨JSF中的`hx`标签及其使用方法。 首先,我们需要理解JSF的基本概念。JSF是一种Java Web...
- `processing`和`serverSide`选项实现服务器端分页。 **三、SSH与Datatables结合** 1. **后端接口**:在SSH框架中,你需要创建一个服务接口,该接口将处理分页请求,获取指定范围的数据并返回。 2. **控制器处理...
JSF 通过简化服务器端的组件模型来帮助开发者更高效地构建复杂的应用程序。 #### 关键特点 - **组件模型**:JSF 使用组件模型来表示用户界面元素,如按钮、文本框等。 - **事件处理**:支持基于事件的编程模型,...