如何在jsp中执行分页

时间:2013-07-30 06:07:55

标签: jsp jsp-tags

我需要分页概念来显示15条记录。  这是我的jsp文件。

<%
ArrayList<String> al = new ArrayList();
%>
<%!String s;
int i;%>
<%
al = op.getCountry();
%>
<jsp:scriptlet>
session.setAttribute( "EmpList", al);
</jsp:scriptlet>
<display:table id="domList" pagesize="10" name="sessionScope.EmpList"> 
<table width="100%" border="0" cellpadding="0" cellspacing="0" id="dataTable">

<tr bgcolor="#57e3ff">
    <td><strong>Country</strong></td>
    <td colspan="2" align="center"><strong>Action</strong></td>
</tr>
<% int a = 0, i = 0;
    while (i < al.size()) {
        if ((i + 1) % 2 == 0) {
                                                                                s = "#f3f4f4";
                                                                            } else {
                                                                                s = "#ebebec";
                                                                            }%>

<tr bgcolor="<%=s%>">
    <td><display:column  value="<%=al.get(i)%>" />  </td>
    <td align="center"><div id='basic-modal-cdel'>
            <a href='#' id="<%=al.get(i)%>" onclick="return del();"
               class='basic-cdel'><img src="${pageContext.request.contextPath}/images/delete.png"
                                    alt="Delete" title="Delete" border="0" /></a>
        </div></td>
    <td align="center"><div id='basic-modal-country'>
            <a href='#' id="<%=al.get(i)%>" class='basic-country'
               onclick="validatedit()"><img src="${pageContext.request.contextPath}/images/edit-icon.png"
                                         alt="Update" title="Update" border="0" /></a>
        </div></td>
</tr>

<%
        i++;
        a++;
    }

%>

请帮我iam newbie in pagination。我想每页只显示10条记录。我试过它通过显示标签,但我无法弄明白。

3 个答案:

答案 0 :(得分:4)

Display Tag 库是一个开源库,提供分页功能,同时仍然易于使用。

您可以在servlet类中设置请求范围内的记录。

request.setAttribute( "test", new TestList(10, false) );

然后您可以使用显示标记库以分页方式显示它。

<%@taglib uri="http://displaytag.sf.net" prefix="display" %>


<display:table name="test" pagesize="15" >
  <display:column property="id" title="ID" />
  <display:column property="name" />
  <display:column property="email" />
  <display:column property="status" />
  <display:column property="description" title="Comments"/>
</display:table>

您可以找到它的基本教程here


更新:

您只需使用<table>, <tr>, <td>标记<display:table> and <display:column>即可。 您可以直接在<display:column>的属性标记内使用EmpList中的字段。

关注此tutorial

答案 1 :(得分:1)

你可以Display tag library。它为JSP页面提供分页功能。您只需将对象列表传递给此taglib,它就会为您的页面添加分页。它还支持其他功能,如排序,分组,导出等。

答案 2 :(得分:0)

我正在使用Display Tag Library并且它通过苍蝇完成所有操作。只需将列表传递给display:table属性,display标签将处理其余部分。您也可以使用EL。它易于使用且可维护。