Struts分页显示一例

Windows 10/11 注册表 ProfileImagePath 误改修复:3步恢复用户登录与数据安全 本文详细介绍了Windows 10/11系统中因误改注册表ProfileImagePath键值导致用户无法登录的修复方法。通过3个关键步骤,包括定位SID、安全修复注册表项及验证处理,帮助用户恢复登录并保障数据安全。特别强调了操作顺序的重要性以避免数据丢失,适用于各类Windows用户账户登录错误的紧急处理。 阅读详情

Struts分页显示


  学习Struts已经有N多月了,前几天群里的朋友问我Struts分页显示的问题,觉得好像与在jsp中的差不多,但还是遇到了这样那样的问题,好不容易花了几天时间把问题都搞清楚,觉得还是写点东西跟大家分享一下的好!
  至于Struts的语法这里就不多介绍了,不懂的朋友可以先看网上的其他文章。
  
  一 开发环境
  Elicpse+Struts Studio+SqlServer2000+Tomcat。
  
  二 开发思路
  既然讲的是Struts,那自然离不了MVC,分页显示也是如此。
  
  1 建立适当的模型组件,对应你要查询数据库中的表。这部分由我们熟悉的javaBean来充当。并在其中建立数据库查询方法,该方法需要一个java.sql.Conntection类型的参数,并返回一个ArrayList。在本例中为 Book.java
  
  2 建立分页所需要的模型组件,也是由javaBean来充当,通过由Book中提供的ArrayList来构造。本例中为 PageBean.java.。
  
   3建立控制器组件,这部分由Struts 中的Action来实现。主要负责将实例化Book,并利用返回的ArrayList对象,构造PageBean。以及接收由视图传递而来的action 参数。从而在PageBean对象中调用不同的方法,该方法返回Book[] 对象。最后将 Book[]和PageBean放入request中。本例中为PageListAction.java。
  
  4建立视图组件,这部 分由jsp来充当,为了不出现java 代码,我们使用Struts提供的标签库,主要负责从request中取出刚刚放入的对象,通过反复调用PageListAction以及action参 数,而实现分页显示。本例中为pagetest.jsp.
  5 建立并配置struts-config.xml。
  6 建立数据库。
  
  三 实例代码
  1 Book.java
  
  package bean;
  import java.sql.*;
  import java.util.ArrayList;
  /**
  * Struts分页显示数据Bean,对应数据库中Book表
  */
  public class Book {
  private String bookname; //书名
  private String author;  //作者
  private String price;  //价格
  
  public Book(String name,String author,String price){
  this.bookname=name;
  this.author=author;
  this.price=price;
  }
  
  public String getAuthor() {
  return author;
  }
  
  public void setAuthor(String author) {
  this.author = author;
  }
  
  public String getBookname() {
  return bookname;
  }
  
  public void setBookname(String bookname) {
  this.bookname = bookname;
  }
  
  public String getPrice(){
  return this.price;
  }
  
  public void setPrice(String price){
  this.price=price;
  }
  
  public static ArrayList getAllBook(Connection connection){
  String sql="select * from book";
  ArrayList arrayList = new ArrayList();
  try{
  Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
  ResultSet resultSet = statement.executeQuery(sql);
  System.out.println("BookBean 数据查询已完成!");
  while(resultSet.next())
  {
  String name = resultSet.getString("name");
  String author = resultSet.getString("author");
  String price = resultSet.getString("price");
  System.out.println("开始数据封装:name="+name+"author="+author+"price="+price);
  Book book = new Book(name,author,price);
  arrayList.add(book);
  }
  connection.close();
  resultSet.close();
  }catch(SQLException e)
  {
  System.out.println("数据库异常"+e.toString());
  }
  
  return arrayList;
  }
  }
  
  2 PageBean.java
  package page;
  import bean.Book;
  import java.util.*;
  /**
  * Struts分页显示逻辑Bean
  */
  public class PageBean {
  
  int currentPage=1; //当前页
  public int totalPages=0; //总页数
  int pageRecorders=5;//每页5条数据
  int totalRows=0; //总数据数
  int pageStartRow=0;//每页的起始数
  int pageEndRow=0; //每页显示数据的终止数
  boolean hasNextPage=false; //是否有下一页
  boolean hasPreviousPage=false; //是否有前一页
  ArrayList arrayList;
  Iterator it;
  public PageBean(){}
  
  public PageBean(ArrayList arrayList){
  this.arrayList=arrayList;
  totalRows=arrayList.size();
  it=arrayList.iterator();
  hasPreviousPage=false;
  currentPage=1;
  if((totalRows%pageRecorders)==0)
  {
  totalPages=totalRows/pageRecorders;
  }
  else
  {
  totalPages=totalRows/pageRecorders+1;
  }
  
  if(currentPage>=totalPages)
  {
  hasNextPage=false;
  }
  else
  {
  hasNextPage=true;
  }
  
  
  if(totalRows<pageRecorders)
  {
  this.pageStartRow=0;
  this.pageEndRow=totalRows;
  }
  else
  {
  this.pageStartRow=0;
  this.pageEndRow=pageRecorders;
  }
  
  }
  
  /**
  * @return Returns the currentPage.
  */
  public String getCurrentPage() {
  return this.toString(currentPage);
  }
  /**
  * @param currentPage The currentPage to set.
  */
  public void setCurrentPage(int currentPage) {
  this.currentPage = currentPage;
  }
  /**
  * @return Returns the pageRecorders.
  */
  public int getPageRecorders() {
  return pageRecorders;
  }
  /**
  * @param pageRecorders The pageRecorders to set.
  */
  public void setPageRecorders(int pageRecorders) {
  this.pageRecorders = pageRecorders;
  }
  /**
  * @return Returns the pageEndRow.
  */
  public int getPageEndRow() {
  return pageEndRow;
  }
  /**
  * @return Returns the pageStartRow.
  */
  public int getPageStartRow() {
  return pageStartRow;
  }
  /**
  * @return Returns the totalPages.
  */
  public String getTotalPages() {
  
  return this.toString(totalPages);
  }
  /**
  * @return Returns the totalRows.
  */
  public String getTotalRows() {
  return this.toString(totalRows);
  }
  /**
  * @return Returns the hasNextPage.
  */
  public boolean isHasNextPage() {
  return hasNextPage;
  }
  /**
  * @param hasNextPage The hasNextPage to set.
  */
  public void setHasNextPage(boolean hasNextPage) {
  this.hasNextPage = hasNextPage;
  }
  /**
  * @return Returns the hasPreviousPage.
  */
  public boolean isHasPreviousPage() {
  return hasPreviousPage;
  }
  /**
  * @param hasPreviousPage The hasPreviousPage to set.
  */
  public void setHasPreviousPage(boolean hasPreviousPage) {
  this.hasPreviousPage = hasPreviousPage;
  }
  public Book[] getNextPage(){
  
  currentPage=currentPage+1;
  System.out.println("PageBean.getNextPage()正在执行;");
  System.out.println("参数currentPage="+currentPage);
  
  if((currentPage-1)>0)
  {
  hasPreviousPage=true;
  }
  else
  {
  hasPreviousPage=false;
  }
  
  if(currentPage>=totalPages)
  {
  hasNextPage=false;
  }
  else
  {
  hasNextPage=true;
  }
  System.out.println("参数hasNextPage="+hasNextPage);
  System.out.println("准备执行PageBean.getBooks()");
  Book[] books=getBooks();
  this.description();
  
  return books;
  }
  
  public Book[] getPreviouspage(){
  
  currentPage=currentPage-1;
  
  if(currentPage==0){currentPage=1;}
  
  if(currentPage>=totalPages)
  {
  hasNextPage=false;
  }
  else
  {
  hasNextPage=true;
  }
  if((currentPage-1)>0)
  {
  hasPreviousPage=true;
  }
  else
  {
  hasPreviousPage=false;
  }
  Book[] books=getBooks();
  this.description();
  return books;
  }
  
  public Book[] getBooks(){
  System.out.println("pageBean.getBooks()开始执行;");
  
Zemax 中的 LED 阵列模型 这些光线是所有光线的子集,用于布局可视化,而不是详细分析。X 和 Y 散度(αx 和 αy)以度为单位,以不同的方式设置为 6 度和 12 度。每个 LED 都以朗伯模式(广角分布)发光,尽管有些 LED 具有内置光学元件,用于更窄或更聚焦的光束。,具体取决于这些类别中使用的半导体材料。LED 阵列由多个发光二极管 (LED) 组成,这些二极管以特定模式或配置排列,以实现均匀照明、更高强度或特定照明特性。如果数据的存在更改为“辐射强度”,则它以弧度为单位显示每个立体角的功率,作为探测器上入射角的函数。 阅读详情

相关推荐

Sony SLVS-EC接口实战:如何用Xilinx K7 FPGA接收IMX421传感器数据(附电气特性匹配技巧)

本文详细介绍了在Xilinx Kintex-7 FPGA平台上实现Sony IMX421图像传感器SLVS-EC接口数据接收的完整实战方案。内容涵盖从硬件选型、PCB布局的电气特性匹配技巧,到FPGA内部GTX收发器配置、多通道绑定以及SLVS-EC协议数据解析与图像重组的关键步骤,为高速视觉系统开发提供了宝贵的调试经验和系统集成指导。

efc12345678的博客 266

解决Struts分页显示

学习Struts已经有2个多月了,前几天群里的朋友问我Struts分页显示的问题,觉得好像与在jsp中的差不多,但还是遇到了这样那样的问题,好不容易花了几天时间把问题都搞清楚,觉得还是写点东西跟大家分享一下的好! 至于Struts的语法这里就不多介绍了,不懂的朋友可以先看网上的其他文章。 一 开发环境 Elicpse+Struts Studio+SqlServer2000+Tomcat。 二 开发

为理想而奋斗 8823

sift、surf、orb 特征提取——三维重建

参考文章:[sift、surf、orb 特征提取及最优特征点匹配] 最近刚刚入门三维重建,在SFM算法的代码中注意到了feature_type( feature extraction method)这个参数,想细致了解一下这几种特征提取算法,在这里做一下笔记。 SIFT 简介 SIFT(Scale-Invariant Feature Transform)——尺度不变特征变换,是一种计算机视觉的特征提取算法,用来侦测与描述图像中的局部特征。 实质上,它是在不同的尺度空间上查找关键点(特征点),并计算出关键点的

bb_sy_w的博客 4362

解决Struts分页显示(z)

解决Struts分页显示作者:李敏强  学习Struts已经有2个多月了,前几天群里的朋友问我Struts分页显示的问题,觉得好像与在jsp中的差不多,但还是遇到了这样那样的问题,好不容易花了几天时间把问题都搞清楚,觉得还是写点东西跟大家分享一下的好!至于Struts的语法这里就不多介绍了,不懂的朋友可以先看网上的其他文章。一 开发环境Elicpse+Struts Studio+SqlServer

null 1387

【遥感数字图像处理(朱文泉)】第四章 变换域处理方法

变换域的处理方法

甜子yu的博客 4312

当我们谈论Unidbg时我们在谈什么

文章目录一、前言二、使用Unidbg的工作量是什么三、补环境补的是什么3.1 运行环境缺失3.2 上下文缺失四、Unidbg 不是所有情况下最优的解决方案五、Unidbg在大多数情况下是好的方案六、Unidbg和风控无关七、尾声 一、前言 这是一篇漫谈Unidbg的文章,我对Unidbg的使用和理解都还很浅,日后会更新或修改看法,欢迎大佬指点,也期待同侪讨论。 二、使用Unidbg的工作量是什么 我们常规使用Frida + IDA的动静态分析中,工作可能是这样的 找线索→Frida Hook验证→验证成功继

lilac的博客 5789

Struts检索结果分页显示的设计

Struts的MVC结构就是围绕ActionForm、Action、JSP、ActionForward以及各种business beans来设计的。Bean处理后的结果提交给JSP显示时,很可能由于数据行数比较多,需要分页显示。进行分页显示需要知道几个相关参数:需要显示的结果集(一般是数组)、总计分页的页面数量、当前显示的页面编号、该页面显示内容在结果集中的起止id。此外还需要提供在各个分页面之间

wangjian0325的专栏 1186

【x265编码器】章节1——x265的lookahead模块分析

目录一、模块功能二、lookahead模块分析1.调用流程2.代码分析Lookahead::addPicture()Lookahead::checkLookaheadQueue()Lookahead::getDecidedPicture()Lookahead::findJob()Lookahead::slicetypeDecide()PreLookaheadGroup::processTasksLookaheadTLD::lowresIntraEstimate()Lookahead::slicetypeAn

vcvdv123的博客 4万+

Struts实现分页显示数据

//操作的数据库中的表名为:UserInfo,有三个属性:userId,userName,userPassword(顾名思义) 首先为UserInfo表构造一个相对应的JavaBean,UserInfo.java(因为要贴的代码过多,这个就省略了)。  现在正式开始:新建名为:LendDao.java 的java类,其中有两个方法,一个是用来获得,分页后,每一页应该显示的内容( sel

izhouxiaofei的博客 4870

数据处理和分析之数据预处理:数据离散化

在某些情况下,根据业务知识或数据特性,我们可能需要自定义离散化的区间。例如,对于年龄特征,我们可能更关心儿童、青少年、成人和老年人这几个阶段,因此可以自定义这些区间。等宽离散化:将数据范围分成等宽的区间。等频离散化:将数据分成包含相同数量观测值的区间。聚类离散化:使用聚类算法(如K-means)来确定离散化区间。自定义区间离散化:根据领域知识或数据特性手动定义区间。# 自定义区间离散化示例# 假设我们根据业务理解,将年龄分为青年、中年和老年三个阶段。

2401_87715305的博客 935

【参数配置】OpenClaw 的破解之道(Doom Loop)

本文深入解析了OpenClaw中的Doom Loop(死循环)问题及其应对策略。主要内容包括: Agent Loop的核心概念:基于ReAct范式,OpenClaw通过"思考-行动-观察"循环执行任务,但可能陷入无进展的死循环。 Doom Loop现象:Agent持续执行但任务进度为零,常见于四种工具调用场景:相同调用重复执行、调用不存在工具、轮询工具卡死、操作交替振荡。 OpenClaw的防御机制: 第一道防线:重试端断路器,通过上下文压缩熔断(最多3次)和总重试次数熔断(32-160次)防止无限重试。

海兰 4042

Struts2+Hibernate 实现数据分页

Struts2+Hibernate 实现数据分页 1.用Hibernate实现分页技术: /** * 使用hql语句进行分页查询 * @param hql 需要查询的hql语句 * @param offset 第一条记录索引 * @param pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ @SuppressWarn

TKD03072010的专栏 6520

Python画柱状图(双柱状图,三柱状图)且显示对应数值

使用python实现双柱状图和三柱状图,并且在柱状图形的顶部显示对应数值;

yue200403的博客 1万+

如何在Struts中进行分页处理

如何在Struts中进行分页处理最近做Struts项目涉及分页处理。下面就结合项目谈谈如何在Struts中进行分页处理。根据需要你可以选择一次读出所有数据然后再分页,以后每次分页不再读数据。另一种方法你可以每次只读出需要显示的数据,以后每次分页分别在读其他数据。两种方法本文都将简单介绍。先介绍第一种,数据一次读入。适合数据量小的场合,首次装载页面会比较慢。项目片断简介:项目中需要分

踢砖头 2109

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Struts2 分页

在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库

broadLove的专栏 1268

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

使用Struts2实现分页显示

在开发web程序时,从数据库中取出来的数据一般都要分页显示在页面上,分页显示的方法非常多,有人写自定义标签,用自己写的标签进行分页显示,我个人觉得这是一种比较好的方法。下面是我用Struts2做的一个分页显示实例,基本的思路是:把数据库表中的每一行数据封装成一个对象,用一个返回类型为List的方法返回这些对象,接着在Struts2的action里面定义一个List属性,用这个List来接收从数据库...

anglela的博客 205

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Struts分页显示

说到Struts自然是不能离开MVC模式,分页显示也是如此.我不知道我的算法是不是算好的,也希望看过的朋友能发表一下自己的看法,下面简单阐述一下主要的开发思路: 1)建立适当的模型组件,对应你要查询数据库中的表,这部分由熟悉的JavaBean来充当.并在其中建立数据库查询方法,该方法需要一个java.sql.Conntection类型的参数,并返回一个ArrayList,在本例中为Book.jav

陈杰的专栏 1571

也显示一下我的Struts2分页

  最近看见网上有不少基于Struts2+spring分页的东西,自己感觉都不是很适合,许多都只是对一个列表进行了分页,而没有考虑到查询条件等。个人认为,分页就是从前台把查询条件输入进去然后返回查询结果列表。这个问题的难点就是查询条件的传递,因为第一次查询时候需要输入查询条件,而以后点下一页时候,就不需要再次输入查询条件了。所以,第一次查询时候,需要把查询条件保存到某个地方,再次查询时候,把条件取...

zhangjunji111的博客 179

Struts中实现查询结果分页显示

messagelist.do -> messagelist.jsp 用 messagelist.do?start=0 来显示第一个页面 参数说明:   list:信息列表   start:开始位置   page:每页显示的信息数目   previous:上页开始位置   next:下页开始位置 MessageListAction 里的 perform 是这样写的: ----------------

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1760

解决 Struts 分页显示

解决 Struts 分页显示 学习Struts已经有2个多月了,前几天群里的朋友问我Struts分页显示的问题,觉得好像与在jsp中的差不多,但还是遇到了这样那样

Tom Studio (汤姆工作室) 2049

Struts2+Hibernate分页显示实例

下面是一个struts2+hibernate的分页显示,主要是用到了hibernate的相应分页方法大大简单了分页的代码版本:Struts2.1.8         Hibernate3.2         Oracle9g具体代码如下:1.Plan.javapackage com.creattech.plan;public class Plan { priva

路人甲的专栏 1万+

怎么利用Struts进行分页处理

0.分页效果 我们希望实现这种分页效果,当在首页的时候,不显示上一页;当在尾页的时候,不显示

欧世乐 434

Struts+Oracle分页显示数据的实现

Struts+Oracle分页显示数据的实现1.      Oracle的分页查询功能数据的分页显示,有多种不同的做法。其中比较好的分页做法应该是每次翻页的时候只从数据库里检索页面大小的块区的数据。这样虽然每次翻页都需要查询数据库,但查询出的记录数很少,网络传输数据量不大,如果使用连接池更可以略过最耗时的建立数据库连接过程。而在数据库端有各种成熟的优化技术用于提高查询速度,比在应用服务器层做缓存有

繁花落尽终是一场梦~~~ 3005

Struts简单分页显示

Struts分页*********************************************************************************************************************执行过程在这里说明一下首先  http://localhost:xxxx/xxx/index.jsp然后单击   显示列表会执行s

大展 2391

Struts 分页显示

  一开发思路既然讲的是Struts,那自然离不了MVC,分页显示也是如此。 1 建立适当的模型组件,对应你要查询数据库中的表。这部分由我们熟悉的javaBean来充当。并在其中建立数据库查询方法,该方法需要一个java.sql.Conntection类型的参数,并返回一个ArrayList。在本例中为 Book.java2 建立分页所需要的模型组件,也是由javaBean来充

ynxiaofan的专栏 684
上一篇: 240个jQuery实现AJAX插件
下一篇: web2.0网站的配色、设计参考方案【图】
系统信息
系统信息 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄23年 2404粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值