re: Displaytag1.1大数据量分页的例子 zJun's帛罗阁 2008-04-27 23:46
@xieamao
dao.query()中是使用Hibernate实现分页的查询,在有很多现成的实现。
re: Displaytag1.1大数据量分页的例子 zJun's帛罗阁 2008-03-13 19:32
@yushibo
public class Page {
static private int DEFAULT_PAGE_SIZE = 15;
/**
* 每页的记录数
*/
private int pageSize = DEFAULT_PAGE_SIZE;
/**
* 当前页第一条数据在List中的位置,从0开始
*/
private int start;
/**
* 当前页中存放的记录
*/
private List results;
/**
* 总记录数
*/
private int totalCount;
/**
* 构造方法,只构造空页
*/
public Page() {
this(0, 0, DEFAULT_PAGE_SIZE, new ArrayList());
}
/**
* 默认构造方法
*
* @param start
* 本页数据在数据库中的起始位置
* @param totalSize
* 数据库中总记录条数
* @param pageSize
* 本页容量
* @param results
* 本页包含的数据
*/
public Page(int start, int totalSize, int pageSize, List results) {
this.pageSize = pageSize;
this.start = start;
this.totalCount = totalSize;
this.results = results;
}
/**
* 取数据库中包含的总记录数
*/
public int getTotalCount() {
return this.totalCount;
}
/**
* 取总页数
*/
public int getTotalPageCount() {
if (totalCount % pageSize == 0)
return totalCount / pageSize;
else
return totalCount / pageSize + 1;
}
/**
* 取每页数据容量
*/
public int getPageSize() {
return pageSize;
}
/**
* 当前页记录
*/
public List getResults() {
return results;
}
/**
* 取当前页码,页码从1开始
*/
public int getCurrentPageNo() {
return start / pageSize + 1;
}
/**
* 是否有下一页
*/
public boolean hasNextPage() {
return this.getCurrentPageNo() < this.getTotalPageCount() - 1;
}
/**
* 是否有上一页
*/
public boolean hasPreviousPage() {
return this.getCurrentPageNo() > 1;
}
/**
* 获取任一页第一条数据的位置,每页条数使用默认值
*/
protected static int getStartOfPage(int pageNo) {
return getStartOfPage(pageNo, DEFAULT_PAGE_SIZE);
}
/**
* 获取任一页第一条数据的位置,startIndex从0开始
*/
public static int getStartOfPage(int pageNo, int pageSize) {
return (pageNo - 1) * pageSize;
}
/**
* 设置总记录数
*/
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
/**
* 设置记录
* @param results
*/
public void setResults(List results) {
this.results = results;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
}
re: Displaytag1.1大数据量分页的例子 zJun's帛罗阁 2008-02-29 20:31
re: Displaytag1.1大数据量分页的例子 zJun's帛罗阁 2008-02-29 20:22
@迷途羔羊
排序是要自己写代码实现的,所以叫 external paging嘛。
@fenix
就灵活性和可扩展性来说,eXtremeComponents更好一些。
@佳佳
你好,我是用的displaytag1.1,应该有这两个属性的,或者你重新下载个displaytag的包看下:
<attribute>
<name>partialList</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<type>boolean</type>
<description>enable/disable partialLists. Valid values are true or false</description>
</attribute>
<attribute>
<name>size</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
Used only when partialList=true. Reference to the Integer object containing the size of the total dataset. Can
be an expression like requestScope.object.property. In the EL version of the taglibrary this must be an EL
expression which points to the source object.
</description>
</attribute>
@mm
<h3>前12笔记录</h3>
<display:table name="test" length="12">
<display:column property="id" title="ID" />
<display:column property="email" />
<display:column property="status" />
</display:table>
可以看看displaytag的例子:
http://displaytag.homeip.net/displaytag-examples-1.1/example-subsets.jsp
re: 运用ajax技术的树型菜单 zJun's帛罗阁 2006-07-31 16:37
是怎么构造树的呢?是在tree_ajax.js和tree_htfl.js中吗?哪里可以找到这两个文件呢,这两个文件所有的内容就是文章中提供的js文件的内容吗?最好能提供这两个文件的代码。现在这样看有点摸不着头脑。
re: 我的第一次面试经历 zJun's帛罗阁 2006-07-19 11:45
int ch = 'A' - 1;
for (int i = 1; i <= 26; i++) {
for (int j = 1; j <= i; j++) {
System.out.print((char) (ch + i));
}
System.out.println();
}
不是很复杂啊,是题目还有什么要求没有写出来吗?