Displaytag用法整理二
1、 再给第三个例子(后台数据库分页)
<display:table class="data" cellpadding="0"
requestURI="/NetXpert/room/idcRoomShelfAction.do?actionType=doListIdcShelf" cellspacing="0" style="width:98%" name="shelfs" >
…… ……
</display:table>
从该例中可看出:
1)、table只设置了requestURI属性,没有设置pagesize属性,由requestURI指定的url来完成分页功能
2)、IdcRoomShelfAction.java中的相关函数的代码(红色部分的代码完成了分页):
public ActionForward doListIdcShelf(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
int page = 1; // 默认值:第1页
PaginatedListHelper paginaredList = new PaginatedListHelper();
// 获取页号
if (request.getParameter("page") != null
&& !"".equals(request.getParameter("page"))) {
page = Integer.parseInt(request.getParameter("page"));
}
paginaredList.setObjectsPerPage(20); // 默认每页显示15条记录,可以重新赋值
paginaredList.setPageNumber(page); // 设置页号
ArrayList voList = new IdcRoomShelfBo().selectShelf();
ArrayList formList = ((IdcRoomShelfForm) form)
.getFormListFromVOList(voList);
paginaredList.setFullListSize(formList.size()); // 记录总数
paginaredList.setList(formList); // 全部的数据集
paginaredList.getCurrentPageRecord(); // 获取当前页号需要的数据集
request.setAttribute("shelfs", paginaredList);
return mapping.findForward("shelfList");
}
3)、分页类的代码:(display1.1的发布已经能够支持后台数据库分页,但必须实现其提供的PaginatedList接口)
package com.asiainfo.idc.room.util;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
//PaginatedList和SortOrderEnum为displaytag-1.1.1.jar提供的jar包中提供的类
import org.displaytag.pagination.PaginatedList;
import org.displaytag.properties.SortOrderEnum;
/**
* 针对displaytag标签扩展的后台分页功能
* @author lvping
*/
public class PaginatedListHelper implements PaginatedList {
private List list; // 数据集
private int pageNumber = 1;// 页号
private int objectsPerPage = 15;// 每页显示的记录数
private int fullListSize = 0;// 全部记录数
private String sortCriterion;
private SortOrderEnum sortDirection;
private String searchId;
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public int getPageNumber() {
return pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public int getObjectsPerPage() {
return objectsPerPage;
}
public void setObjectsPerPage(int objectsPerPage) {
this.objectsPerPage = objectsPerPage;
}
public int getFullListSize() {
return fullListSize;
}
public void setFullListSize(int fullListSize) {
this.fullListSize = fullListSize;
}
public String getSortCriterion() {
return sortCriterion;
}
public void setSortCriterion(String sortCriterion) {
this.sortCriterion = sortCriterion;
}
public SortOrderEnum getSortDirection() {
return sortDirection;
}
public void setSortDirection(SortOrderEnum sortDirection) {
this.sortDirection = sortDirection;
}
public String getSearchId() {
return searchId;
}
public void setSearchId(String searchId) {
this.searchId = searchId;
}
/**
* 根据总的数据集和每页需要的首记录、尾记录索引,从总记录集中得到需要的记录集
* 这是一个取巧的分页方法,并非真正的根据每页请求拼sql进行查询,而是对于整个数据查询的结果从中取各页需要的数据集合,对于超大数据量的查询效率可能不会太高
*/
public void getCurrentPageRecord() {
ArrayList v = new ArrayList();
Iterator iterator = null;
try {
if (this.getList() != null) {
iterator = this.getList().iterator();
int i = 0;
int fromRow = 0;
int toRow = 0;
if (this.getPageNumber() == 1) { // 首页
fromRow = 1; // 从第一行开始
toRow = this.getObjectsPerPage();
} else {
fromRow = (this.getPageNumber() - 1)
* this.getObjectsPerPage() + 1;
toRow = fromRow + this.getObjectsPerPage();
}
if (toRow > this.getFullListSize()) // 如果尾行数超过list的大小
toRow = this.getFullListSize();
while (iterator.hasNext()) {
i++;
if (i < fromRow) {
iterator.next();
continue;
} else if (i > toRow) {
iterator.next();
continue;
} else {
v.add(iterator.next());
}
}
this.setList(v);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Displaytag用法整理三
1、 再来一个(列中的超链接):
<display:column style="width:10%;text-align:center"
headerClass="dataHead" property="shelfcode"
href="/NetXpert/room/idcRoomShelfAction.do?actionType=doEditIdcShelf&" paramId="shelfid" paramProperty="shelfid" title="机柜编码" />
从该例中看到:
1)、列的href属性定义了点击超链接后请求的url
2)、列的paramId属性定义了url后面带有的参数的名称
3)、列的paramProperty属性定义了url给出的参数值
4)、根据该列的定义,点击该列数据的超链接后,会跳转至如下的url:
/NetXpert/room/idcRoomShelfAction.do?actionType=doEditIdcShelf&shelfid=XXX (XXX为property属性指定的bean中的shelfcode的值)
相关推荐
在本文中,我们将详细讨论 Displaytag 1.1 版本的使用方法。 **一、Displaytag 安装** 首先,你需要从官方或者其他可靠的来源下载 `displaytag-1.1-bin.zip` 文件。解压后,将 `displaytag-examples-1.1.war` 中的...
以下是一些常见的DisplayTag使用方法: 1. **显示表格**: 使用`<display:table>`标签来创建表格,通过`name`属性指定数据源(通常是一个List或者一个JavaBean集合),例如: ```jsp ``` `export`属性设置为...
个人学习收集网上资料辛苦整理而成. DisplayTag分页资料整理.chm DisplayTag 分页 chm java taglib
为了在项目中使用DisplayTag,首先需要下载并引用其提供的`DisplayTag.jar`文件,以及依赖的Apache项目相关jar包。此外,还需要在`web.xml`中进行相应的标签库配置,具体如下: ```xml <taglib-uri>...
DisplayTag 的基础用法是在 JSP 页面中使用 `<display:table>` 标签来渲染一个表格。例如,以下代码会显示一个包含对象属性的列表: ```jsp ("test", new ReportList(6));%> ``` 这段代码将遍历 `test` 属性中的每...
2. **标签库**:DisplayTag基于JSTL标签库,可以在JSP页面中使用,例如`<display:table>`、`<display:column>`等,这些标签提供了丰富的属性来定制表格的行为。 3. **中文问题**:在处理中文字符时,DisplayTag可能...
在本篇中,我们将深入探讨DisplayTag 1.1.1的核心功能和使用方法。 首先,DisplayTag的安装非常简单。通常,只需将displaytag-1.1.1.jar文件添加到项目的类路径中,并在web.xml中配置相应的过滤器和监听器。这一...
本文将详细介绍 DisplayTag 的安装步骤、基本使用方法、样式定制以及高级特性。 #### 二、安装与配置 ##### 安装步骤: 1. **下载并解压**:首先从官网或第三方仓库下载 `displaytag-1.1-bin.zip` 文件,解压缩后...
### DisplayTag插件的使用方法详解 #### 一、引言 在Web开发过程中,特别是使用Java技术栈进行开发时,经常会遇到需要展示大量数据的情况,例如用户列表、订单列表等。为了更方便地实现这样的功能,开发者通常会...
6. `displaytag-doc`: 这里可能包含Displaytag的用户手册、API文档或者开发者指南,对于学习和使用Displaytag非常重要,因为它提供了详细的使用方法和最佳实践。 7. `displaytag`: 最后,这个目录很可能包含了...
下面我们将详细探讨DisplayTag的使用方法。 1. **基础使用** 最简单的使用方式是不使用`<display:column/>`标签。只需将List对象赋值给request,然后在页面上使用`<display:table name="test" />`标签,DisplayTag...
最基本的使用方式是在JSP页面中设置`<display:table>`标签,将一个集合对象(如List)赋值给`name`属性,DisplayTag会自动遍历集合中的每个对象,显示其所有公共getter方法对应的属性。例如: ```jsp ( "test", ...
DisplayTag 的基本用法是通过`<display:table>`标签来展示数据列表。例如,当你有一个名为`test`的列表,你可以直接使用该标签来显示列表中的所有对象属性: ```jsp ("test", new ReportList(6));%> ``` 这将遍历...
- `examples`目录:可能有示例项目,展示了DisplayTag的使用方法。 通过使用DisplayTag 1.2,开发人员可以更专注于业务逻辑,而不用花费大量时间在表格展示的细节上,从而提高了开发效率和代码的可维护性。同时,...
在配置方面,DisplayTag 使用了两个标签库:displaytag-1.1.tld 和 fmt.tld。displaytag-1.1.tld 是 DisplayTag 自身的标签,而 fmt.tld 标签库主要用于支持中文显示。如果你的项目使用的是 Servlet 2.4 之前的版本...
displaytag-1.2.jar 显示标签
描述中提到的"技术指导文档"是DisplayTag的用户指南,它详细阐述了如何在项目中集成DisplayTag,以及如何配置和使用其特性。通过这个文档,开发者可以了解到如何创建表格、设置分页参数、实现列排序等操作。"点击...