请完成通过自定义函数拼接“首页”,“上一页”,“下一页”,“尾页”链接的page程序
时间: 2023-10-01 17:09:10 浏览: 61
好的,下面是一个简单的示例代码,可以通过自定义函数拼接“首页”,“上一页”,“下一页”,“尾页”链接的 page 程序:
```jsp
<%!
// 自定义函数,用于拼接链接
public String getLink(int page, String text) {
String url = request.getRequestURI(); // 获取当前请求的 URL
String query = request.getQueryString(); // 获取当前请求的查询参数
if (query != null && query.length() > 0) {
url += "?" + query; // 如果有查询参数,则将其拼接到 URL 中
}
if (page <= 0) {
page = 1; // 如果页码小于等于 0,将其设置为 1
}
return "<a href=\"" + url + "&page=" + page + "\">" + text + "</a>";
}
%>
<%
int pageSize = 10; // 每页显示的条数
int totalCount = 100; // 总记录数
int pageCount = (totalCount + pageSize - 1) / pageSize; // 总页数
int currentPage = (request.getParameter("page") != null) ? Integer.parseInt(request.getParameter("page")) : 1; // 当前页码
// 计算上一页和下一页的页码
int prevPage = (currentPage > 1) ? (currentPage - 1) : 1;
int nextPage = (currentPage < pageCount) ? (currentPage + 1) : pageCount;
%>
<!-- 显示数据列表,这里只是示例 -->
<table>
<thead>
<tr>
<th>编号</th>
<th>名称</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<% for (int i = (currentPage - 1) * pageSize + 1; i <= currentPage * pageSize && i <= totalCount; i++) { %>
<tr>
<td><%= i %></td>
<td>名称 <%= i %></td>
<td>描述 <%= i %></td>
</tr>
<% } %>
</tbody>
</table>
<!-- 显示分页链接 -->
<div>
<%= getLink(1, "首页") %>
<%= getLink(prevPage, "上一页") %>
<%= getLink(nextPage, "下一页") %>
<%= getLink(pageCount, "尾页") %>
</div>
```
在上面的代码中,我们通过自定义函数 `getLink()` 来拼接链接。该函数接受两个参数:页码和链接文本。在函数内部,我们首先获取了当前请求的 URL 和查询参数,然后根据参数拼接出相应的链接,并将页码和链接文本加入到链接中。
在页面中,我们首先定义了一些变量,如每页显示的条数、总记录数、总页数和当前页码等。然后,我们通过一个 for 循环来显示数据列表。在列表下方,我们通过自定义函数 `getLink()` 来显示分页链接,其中需要传入相应的页码和链接文本。
需要注意的是,这只是一个简单的示例代码,实际项目中可能需要根据具体需求进行修改和优化。