1、.java 文件
package test.s2sh;
public class Page {
private int start=0;
private int count=5;
private int total;
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("<a href=?page.start=0>first</a>");
sb.append(" ");
sb.append("<a href=?page.start="
+ ((start - count) <= 0 ? 0 : (start - count)) + ">pre</a>");
sb.append(" ");
sb.append("<a href=?page.start=" + ((start + count)>=(total-(total % count ))?(total-(total % count )):(start + count)) + ">next</a>");
sb.append(" ");
sb.append("<a href=?page.start=" + (total-(total % count )) + ">last</a>");
return sb.toString();
}
}
要说出的是,这个有个小bug,当total能整除count时,最后页什么都没有。
没有bug的可以参考这个
package page;
public class ForPage {
public static String splitPage(int start ,int countPage){
StringBuffer sb = new StringBuffer();
if(1 != start){
sb.append("<a href='?start="+1+"'>首页</a>");
sb.append(" ");
sb.append("<a href='?start="+(start-1)+"'>上一页</a>");
sb.append(" ");
}else{
sb.append("首页 上一页");
sb.append(" ");
}
sb.append("第"+start+"/"+countPage+"页");
sb.append(" ");
if(countPage != start){
sb.append("<a href='?start="+(start+1)+"'>下一页</a>");
sb.append(" ");
sb.append("<a href='?start="+countPage+"'>尾页</a>");
sb.append(" ");
}else{
sb.append("下一页 尾页");
sb.append(" ");
}
sb.append("跳转到");
sb.append("<select id='page' onChange='change()'>");
for (int i = 1; i <= countPage; i++) {
sb.append("<option ");
if(start == i){
sb.append("selected");
}
sb.append(" value='"+i+"'>");
sb.append("第"+i+"页");
}
sb.append("</select>");
return sb.toString();
}
public static String splitPage(int id ,int start ,int countPage){
StringBuffer sb = new StringBuffer();
if(1 != start){
sb.append("<a href='?id="+id+"&start="+1+"'>首页</a>");
sb.append(" ");
sb.append("<a href='?id="+id+"&start="+(start-1)+"'>上一页</a>");
sb.append(" ");
}else{
sb.append("首页 上一页");
sb.append(" ");
}
sb.append("第"+start+"/"+countPage+"页");
sb.append(" ");
if(countPage != start){
sb.append("<a href='?id="+id+"&start="+(start+1)+"'>下一页</a>");
sb.append(" ");
sb.append("<a href='?id="+id+"&start="+countPage+"'>尾页</a>");
sb.append(" ");
}else{
sb.append("下一页 尾页");
sb.append(" ");
}
sb.append("跳转到");
sb.append("<input type='hidden' id='userId' value='"+id+"' />");
sb.append("<select id='page' onChange='change()'>");
for (int i = 1; i <= countPage; i++) {
sb.append("<option ");
if(start == i){
sb.append("selected");
}
sb.append(" value='"+i+"'>");
sb.append("第"+i+"页");
}
sb.append("</select>");
return sb.toString();
}
}
。
2、贴 jsp页面。(其他配置及相关struts.xml ,applicationContext.xml等未贴出。)
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>s2sh</title>
<style type="text/css">
td{
width:100px;
text-align:center
}
a.adduser{
position:relative;
left:700px
}
</style>
</head>
<body align="center">
<div>
<table align="center" cellspacing="0" border="1">
<tr bgcolor="#aaaaaa">
<td>userName</td>
<td>sex</td>
<td>address</td>
<td>age</td>
<td>update</td>
<td>delete</td>
</tr>
<s:iterator value="users">
<tr>
<td><s:property value="userName" /></td>
<td><s:property value="sex" /></td>
<td><s:property value="address" /></td>
<td><s:property value="age" /></td>
<td><a href="show?user.id=<s:property value="id" />">update</a></td>
<td><a href="delete?user.id=<s:property value="id" />">delete</a></td>
</tr>
</s:iterator>
<tr>
<td align="center" colspan="6"><s:property escape="false" value="page" /></td>
</tr>
</table>
<br/>
<br/>
<br/>
<a class="adduser" href="add">Add User</a>
</div>
<s:debug/>
</body>
</html>
今天完成了ssh的增删改查。
很多代码还要多写,多练。
分享到:
相关推荐
SSH分页 分页 通用分页 struts2分页
好强大的ssh分页,封装的很好,适合初学者研究下,可以更快帮助初学者掌握分页机制,学起来不是很容易,但是当你学会了就豁然开朗,其他的分页直接可以藐视了,哈。。。我就是这样学过来的 有相关教程:...
SSH分页技术是Java Web开发中一种常见的数据处理方法,主要应用于大数据量的展示场景,如用户在浏览商品列表或论坛帖子时,通过分页来避免一次性加载所有数据导致的性能问题和用户体验下降。SSH指的是Spring、Struts...
在这个"SSH分页_完整例子"中,我们将深入探讨如何在SSH框架下实现数据的分页显示。 分页是Web应用程序中常见的功能,它能帮助用户更有效地浏览和处理大量数据。SSH框架通过整合Spring的事务管理和Hibernate的ORM...
在这个“很好的SSH分页小例子”中,我们将深入探讨SSH框架如何实现数据的分页显示,这对于处理大数据量的展示至关重要。 首先,让我们了解SSH框架的各自角色: 1. **Struts2**:这是一个MVC(Model-View-...
SSH分页技术是Java开发中一个非常实用的功能,尤其在处理大数据量的Web应用时,它能够有效地提高用户体验,避免一次性加载过多数据导致的性能问题。SSH是指Spring、Struts和Hibernate这三大开源框架的组合,它们在...
"SSH分页查询方法"是指在使用Struts2、Hibernate和Spring三大Java开发框架集成开发时实现的分页功能。 首先,Struts2是一个MVC(Model-View-Controller)框架,它负责处理用户请求并将其转发到相应的控制器,进而...
SSH分页则是指在使用这三个框架开发应用程序时,实现数据展示分页的一种技术手段。 **Struts** 是一个基于MVC设计模式的Web应用框架,主要用于控制视图与模型之间的交互。它提供了一种组织应用逻辑的方式,使得...
SSH分页插件的核心功能是将数据库查询结果按照一定的页码和每页记录数进行切割,使得用户可以逐页浏览,提高用户体验并减轻服务器负担。这个插件通常会集成到SSH框架中,通过简单的配置和调用,就能实现复杂的数据...
在这个场景中,"SSH分页组件"指的是在SSH框架下实现数据分页功能的组件。 分页是Web应用中常见的需求,特别是在处理大数据量时,为了提高用户体验和系统性能,需要将结果集分割成多个小部分(页)进行显示。SSH分页...
总的来说,"ssh 分页 控件 (分页插件)"是一个便捷的工具,能够帮助SSH框架的开发者在JSP页面中轻松实现数据分页功能,提升项目开发效率和用户体验。通过对分页插件的配置和使用,我们可以更专注于业务逻辑,而不用...
在SSH框架中实现分页功能是一项常见的任务,尤其是在处理大量数据时,分页能有效地提高用户体验,避免一次性加载过多数据导致页面响应慢。以下将详细介绍如何在SSH框架下创建分页程序,并探讨其优缺点。 首先,理解...
在这个名为"ssh.zip_SSH 数据分页_ssh分页实现"的压缩包中,我们可以看到一个关键的实践案例——如何在SSH框架下实现数据分页功能。数据分页在Web应用中极为重要,因为它能够帮助用户更有效地浏览大量信息,提高用户...
在这个名为"ssh.zip_SSH分页_ssh的分页实现"的压缩包中,我们关注的是SSH框架下的数据分页功能。 分页是大型Web应用程序中的一个关键特性,它允许用户以可管理的方式浏览大量数据,而不会被过长的列表压垮。在SSH...
总结来说,SSH框架中的分页涉及Struts的控制流、Hibernate的数据查询和Spring的依赖注入,以及前端页面的交互设计。掌握这些知识点对于Java Web开发者至关重要,能够帮助他们构建出高性能、易维护的大型应用系统。在...
在本实例中,我们将深入探讨SSH框架下的分页功能实现。 首先,让我们从Struts开始,它是SSH中的用户界面层,负责处理HTTP请求并返回相应的视图。在Struts中,我们可以创建一个Action类来处理分页请求。这个Action类...
总结起来,这个压缩包提供的SSH分页实例数据库MySQL连接,旨在帮助初学者掌握SSH框架在实际项目中的应用,尤其是如何利用SSH实现数据的CRUD操作和分页功能,对于提升Java Web开发技能具有很大价值。通过实践这个实例...
这个一个关于String+Spring+Hibernate框架,可以分页显示的实例代码.
按照 文档中的的内容轻松实现SSH分页,文档中包含 了 分页bean。直接复制即可使用。有详细的类和方法说明。
在这个特定的上下文中,"ssh 分页组件"指的是在SSH框架中实现数据分页的功能。数据分页在大型应用中尤为重要,因为它能有效地管理大量数据,避免一次性加载过多数据导致性能下降。 分页组件通常由两部分组成:前端...