JSP中如何实现分页?

发布于 2024-11-02 02:24:08 字数 1483 浏览 1 评论 0原文

我有一个页面,其中显示一个表,其中包含一些条目,这些条目是第一次从 JPA 实体的列表形式的方法中获取。

现在我有 3 个按钮:上一个接受下一个

我想要的是当我单击下一个或上一个按钮时,它应该显示上一个/ 下一个条目。

这里有一些代码片段:

<%!
 Request req=new Request();
 List<pendingRequest> li= req.showDetails();
 int i=0;
 pendingRequest pr=null; %>
<%pr=li.get(i); %>
 <table align="center">
<tr><td><b>Employee Id  :</b></td><td><%=pr.getEmpId()%></td></tr>
<tr><td><b>Name         :</b></td><td><%=pr.getEmpName()%></td></tr>
<tr><td><b>Phone Number :</b></td><td><%=pr.getEmpPhnNo()%></td></tr>
<tr><td><b>Email Id     :</b></td><td><%=pr.getEmpEmail()%></td></tr>
<tr><td><b>Password     :</b></td><td><%=pr.getEmpPassword()%></td></tr>
</table><br><br>

<table align="center">
<tr><td>
<input type="button" value="Previous" onclick="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" value="Accept" onclick="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="button" value="Next" onclick="">
</td></tr>
</table>

有人可以帮助我,我应该如何继续使其成为可能吗?

提前致谢。

I have a page which displays a table with some entries which is taken from a method in form of a list from a JPA Entity for the first time.

now I have 3 buttons: previous, accept, next

what I want is when I click the next or previous button, it should show the previous / next entry.

here are some code snippets:

<%!
 Request req=new Request();
 List<pendingRequest> li= req.showDetails();
 int i=0;
 pendingRequest pr=null; %>
<%pr=li.get(i); %>
 <table align="center">
<tr><td><b>Employee Id  :</b></td><td><%=pr.getEmpId()%></td></tr>
<tr><td><b>Name         :</b></td><td><%=pr.getEmpName()%></td></tr>
<tr><td><b>Phone Number :</b></td><td><%=pr.getEmpPhnNo()%></td></tr>
<tr><td><b>Email Id     :</b></td><td><%=pr.getEmpEmail()%></td></tr>
<tr><td><b>Password     :</b></td><td><%=pr.getEmpPassword()%></td></tr>
</table><br><br>

<table align="center">
<tr><td>
<input type="button" value="Previous" onclick="">      
<input type="button" value="Accept" onclick="">      
<input type="button" value="Next" onclick="">
</td></tr>
</table>

can somebody please help me how should I proceed to make it possible?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

满意归宿 2024-11-09 02:24:08

您应该修改 showDetails 方法以接受两个参数:pageNumberresultsPerPage

然后,在 showDetails 方法中,您将看到如下内容:

/**
 * <code>pageNumber</code> starts from 0
 */
public List<PendingRequest> showDetails(int pageNumber, int resultsPerPage)
{
 Query q = ...
 q.setFirstResult(pageNumber * resultsPerPage);
 q.setMaxResults(resultsPerPage);
 ...
 return q.getResultList();
}

在页面顶部设置页码:

<%
  int pageNumber = request.getParameter("pageNumber") == null ? 0 : Integer.parseInt(request.getParameter("pageNumber"));
%>

更改 NextPrevious带链接的输入(假设您的 JSP 文件名为 list.jsp):

<a href="list.jsp?pageNumber=<%= pageNumber + 1 %>">Next</a>
<a href="list.jsp?pageNumber=<%= pageNumber - 1 %>">Previous</a>

这需要进行一些调整(例如,确保 pageNumber 永远不会小于 0),但总的来说,这是您的方法可以采取。

You should modify your showDetails method to accept two parameters: pageNumber, resultsPerPage.

Then inside your showDetails method you'll have something like this:

/**
 * <code>pageNumber</code> starts from 0
 */
public List<PendingRequest> showDetails(int pageNumber, int resultsPerPage)
{
 Query q = ...
 q.setFirstResult(pageNumber * resultsPerPage);
 q.setMaxResults(resultsPerPage);
 ...
 return q.getResultList();
}

Set the page number at the top of the page:

<%
  int pageNumber = request.getParameter("pageNumber") == null ? 0 : Integer.parseInt(request.getParameter("pageNumber"));
%>

Change the Next and Previous inputs with links (let's suppose your JSP file is named list.jsp):

<a href="list.jsp?pageNumber=<%= pageNumber + 1 %>">Next</a>
<a href="list.jsp?pageNumber=<%= pageNumber - 1 %>">Previous</a>

This needs a little bit of tweaking (e.g. to ensure the pageNumber never becomes less than 0), but overall this is the approach you could take.

因为看清所以看轻 2024-11-09 02:24:08

Behrang 回答的是非常棒的内在工作。

或者,您可以使用 displaytag.sf.net/ 以防您可能试图重新发明轮子。 displaytag还允许用户将表格导出为pdf和excel格式,因此在某些情况下您不需要编写额外的代码来进行报告。

What Behrang answered is the inner-working which is fabulous.

Alternatively you can use displaytag.sf.net/ in case you might be trying to reinvent the wheel. The displaytag also allows the user to export the table to pdf and excel format, so you don't need to write extra codes for reporting in some cases.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文