如何在Struts 数据库应用程序中实现分页显示(1)

实现Struts+Hibernate框架下的高效分页功能 本文还有配套的精品资源,点击获取 简介:通过结合Struts和Hibernate这两个Java开源框架,本项目展示了如何实现Web应用程序中的数据分页。Struts负责处理用户请求并管理流程,而Hibernate用于数据库操作与业务逻辑解耦。项目中首先在Hibernate DAO层编写带有分页条件的查询方法,然后通过Struts的Action类调用这些方法,并在JSP页面利... 阅读详情

如何在Struts 数据库应用程序中实现分页显示

 

[相关链接]

《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm

《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm

《Struts下拉框的实现》http://dev.youkuaiyun.com/develop/article/28/28956.shtm

《Sruts单选框的实现》http://dev.youkuaiyun.com/develop/article/29/29042.shtm

《Struts复选框的实现》http://dev.youkuaiyun.com/develop/article/29/29043.shtm

《Struts程序各文件之间的关系(1)》http://dev.youkuaiyun.com/develop/article/29/29131.shtm

《Struts程序各文件之间的关系(2)》http://dev.youkuaiyun.com/develop/article/29/29133.shtm

《如何实现Struts 数据库应用程序(1)》http://dev.youkuaiyun.com/develop/article/29/29135.shtm

《如何实现Struts 数据库应用程序(2)》http://dev.youkuaiyun.com/develop/article/29/29138.shtm

《如何在Struts 数据库应用程序中实现分页显示》

《如何在Struts 数据库应用程序中实现记录的删除、更新及链接》

《如何在Struts 数据库应用程序中实现记录的添加》

《如何建立一个带登陆页面的Struts数据库应用程序》

《如何建立一个带登陆页面及角色的Struts数据库应用程序》

 

上述例子开发环境:Java Web Studio系列开发环境visual strutst版本。

最新JavaWebStudio下载地址:ftp://210.36.64.79/kui

上述例子源程序下载地址:ftp://210.36.64.79/kui

 

重点提示:JSPOUT属性页的设置是本例唯一与《如何实现Struts 数据库应用程序》中的步骤不同之处,这是本例的核心内容。我们要做的仅仅是在JSPOUT属性页的设置中把“自动分页”选择项选定并输入每页记录数即可。

 

 

[目标]

本例的目标是实现一个简单的Struts 数据库应用程序。其功能是从SQL Server 2000中读取数据,并以表格的形式在输出页中显示出来。

定义一个名为“Test”表的字段:

录入一些测试数据:

  

[效果]

输入页面(选择“全部显示”):

输出页面:

 

选择第四页:

 

[背景知识]

对于Struts的分页显示问题,一般建议不要采用<logic:iterate>标签及offset参数来做分页,这样把记录都读取出来太费资源(特别记录多时),一般采用读取一页显示一页的方法。当然,如果把这两种方法结合起来效果最好,即每次读出5至10页,再用<logic:iterate>标签及offset参数来做分页,如果用户请求的页不在已经读出的范围内,则重新从数据库中读取另几页,再用<logic:iterate>显示。

另外,一般还建议不要采用专用的分页标签,主要是各公司的分页标签标准不一,版本不一,对程序来说也不容易把握。本例是通过在DAO文件中生成一个分页字符串的方法实现的,分页字符串的形式可由程序自由改变。当然,在开发环境:Java Web Studio系列开发环境visual strutst版本中,只需要选择“分页”功能就行了,代码都是自动完成的。

 

[步骤]

本例与《如何实现Struts 数据库应用程序》中的步骤相比,除了在Struts数据库应用文件向导中多一个JSPOUT属性页设置之外,其它步骤完全一样,这样相同的步骤详情见《如何实现Struts 数据库应用程序》。

1、打开Visual Struts开发环境:

从桌面JavaWebStudio快揵或BIN目录下的JavaWebStudio.exe文件启动JavaWebStudio的Visual Struts开发环境。

2、建立一个“空的Struts数据库应用模板”应用程序:

    选择菜单“文件”—“新建”—“新建项目”,弹出新建项目对话框,如图3-1所示:

在对话框中选择“空的Struts数据库应用模板”,在项目名称中输入“DBApp”,package (包名)和位置(项目的路径)采用默认的值就行,当然也可以根据需要改变。最后点击“确定”按钮完成新项目的建立。

在DBApp项目根目录下包含四个子目录和两个文件,这是JSPStudio项目的标准结构,最好不要改变它们默认的名称,否则会出现问题。

3、利用Struts数据库应用文件向导建立新的应用:

在JSPStudio文件管理器内点击鼠标右键,在弹出的菜单中选择“Struts数据库应用文件向导”进入Struts文件向导对话框,也可以选择菜单“文件”—“新建”—“Struts数据库应用文件向导”进入Struts文件向导对话框。

在Struts文件向导对话框JSP文件标签下的文件名输入栏中输入“HellWord”文件名,其它文件采用默认的设置。

 

(1)输入文件名:

(2)从数据源中导入SQL语句及数据表的字段信息(字段名和字段类型):

(3)从数据据表中选择所需的表“Test”。

需要特别注意的是,这里的“从数据源中导入SQL语句及数据表的字段信息”及“从数据据表中选择所需的表”仅仅是为了自动生成SQL语句及读取字段信息,这里完成可以直接手工输入,与该项目的数据库连接池的配置无关,下面第(4)点将另行配置数据库连接池。

 

 

接下来配置数据库连接池,其它属性页可采用默认的就行了,下面直接转去数据连接配置属性页即可。

 

(4)JSPOUT属性页设置:

JSPOUT属性页的设置是唯一与《如何实现Struts 数据库应用程序》中的步骤不同之处,这是本例的核心内容。从上图可看出,我们要做的仅仅是把“自动分页”选择项选定并输入每页记录数即可,由于本例测试数据记录少,所以这里每页只显示3条记录。

 

(5)配置数据库连接池:

(省略)

 

4、项目文件结构

项目目录结构分析见《如何实现最简单的Struts程序》,这次Struts数据库应用文件向导自动生成了六个文件,其中web目录下是输入、输出两个JSP文件,src目录下是Java文件。除了文件名是我们输入之外,所有程序源代码都是文件向导自动生成的,所有的配置也是自动完成的。

刷新JSPStudio文件管理器,这时发现web目录下自动生成了两个文件,分别是DbList.jsp和DbList.jsp,前者是输入JSP文件,后者是输出JSP文件;src/emptyprj目录下自动生成了四个文件,分别是DbList Action.java和DbList Form.java,前者是Action文件,后者是FormAction文件;还有是数据库操作文件DbList.java和DbListDAO.java,前者用于保存数据表记录的Bean,后者是数据库操作DAO文件。

 

 

5、编译、启动服务器、运行:

   通过工具条上的按键分别编译项目及启动服务器,然后把开dbList.jsp并通过工具条上的“运行”按键运行dbList.jsp:

 

  首先试一下全部显示功能,点击“全部显示”接钮,如果如下图所示:

 

接下来试一下切换到第5页:

 

通过上述步骤,实现了预计的目标功能。

 

[程序源代码]

对于程序源代码,本例唯一与《如何实现Struts 数据库应用程序》中的程序源代码不同之处,是dbListOut.jsp文件。不同之处在于在表格最后多加了一行,这一行用于显示分页字符串,内容如下:

<tr><td  align=middle colSpan=4 >

<bean:write property='pagestr' name='dbListForm' filter='false' />

</td></tr>

其它文件完全相同,下页是dbListOut.jsp文件源代码:

<%@ page contentType="text/html;charset=GB2312" language="java" %>

<%@ taglib uri="/ WEB - INF /struts-bean.tld" prefix="bean" %>

<%@ taglib uri="/ WEB - INF /struts-html.tld" prefix="html" %>

<%@ taglib uri="/ WEB - INF /struts-logic.tld" prefix="logic" %>

<%@ taglib uri="/ WEB - INF /struts-template.tld" prefix="template" %>

<html:html>

<head>

<title></title>

<html:base/>

</head>

<body bgcolor="white">

<table width="98%" border="1" bgColor="#E6F2E7"

borderColorDark="#FFFFFF" borderColorLight="#008000" cellPadding="3" cellSpacing="0" >

<tr bgcolor='#90C090'>

<td><span CONTENTEDITABLE=true>序号</span></td>

<td><span CONTENTEDITABLE=true>姓名</span></td>

<td><span CONTENTEDITABLE=true>备注</span></td>

</tr>

<logic:iterate name='dbList' id='dbList' type='emptyprj.dbList' scope='request'>

<logic:notEqual name='dbListForm' property='action' value='edit'>

<tr>

<td><bean:write name='dbList' property='序号' /></td>

<td><bean:write name='dbList' property='姓名' /></td>

<td><bean:write name='dbList' property='备注' /></td>

</tr>

</logic:notEqual>

<logic:equal name='dbListForm' property='action' value='edit'>

<tr>

<form  method='post' name='dbListForm' action="/DBApp/dbListAction.do?action=

update&search=search&expression=<bean:write name='dbList' property='序号' />">

<td><html:text name='dbList' property='序号' /></td>

<td><html:text name='dbList' property='姓名' /></td>

<td><html:text name='dbList' property='备注' /></td>

</tr>

</logic:equal>

</logic:iterate>

 

<tr><td  align=middle colSpan=4 >

<bean:write property='pagestr' name='dbListForm' filter='false' />

</td></tr>

</tr>

</table>

</body>

</html:html>

 

 

Struts框架实现简单分页功能指南 Struts是Java EE应用中一个流行的Web层框架,它遵循MVC(Model-View-Controller)设计模式,将应用程序分为三个核心组件以实现业务逻辑与用户界面的分离。Struts简化了企业级应用的开发,尤其是在处理用户请求和展示响应方面。分页功能,是一种数据处理技术,允许用户在处理大量数据时,能够将数据分割成小块(页面)进行分批显示。这种技术在用户界面上的应用十分广泛,尤其在Web开发领域,分页处理是提高用户体验的重要组成部分。 阅读详情

相关推荐

Struts2与Hibernate分页功能的实现详解

Struts2是一个基于MVC设计模式的Web应用框架,它的核心是过滤器Dispatcher,用于将用户请求与Action映射,并返回相应的视图。MVC模式通过分离视图(View)、模型(Model)和控制器(Controller)来实现业务逻辑与界面显示的分离,提高了代码的可维护性和可扩展性。

weixin_42613018的博客 697

分页时关于添加Bean的改进

分页优化的一种方式 1.问题的出现: 有分页的JSP页面中,在 最后一页 添加一个bean时,添加成功后的页面跳转应当分为两种情况: 第一种:该页的记录数未满,则成功后跳转回本页; 第二种:该页的记录数已满,则成功后跳到最后一页。 我暂且将这种功能称为:溢出自动翻页功能。 2.解决方法的步骤: (1).在添加按钮的连接上添加参数: href="pages/manager/book_edit.jsp...

Stormseeker的博客 206

struts2+jdbc实现增删改查及带条件的分页查询

实现了struts2通过jdbc连接mysql数据库进行数据存储及从数据库中 查询出数据并显示到页面(jsp页面使用了struts2标签)上

struts 下面的页面分页显示的实现

   本应用的实现的过程是根据读取当前页面号码和发出请求页面的相对偏移值, 在数据库中读取指定数量的记录并以HashMap对象形式封装到一个List,其中每条记录中的各列以Object实例形式存于前面所讲的HashMap对象中.这样做的好处是便于代码的重用性, 我们可以用它做任何记录集片段的读取,而不必做任何代码的修改,你要做的就是根据你的具体需要单独写个类调用本分页类.   由于这次实现设计的代

小李专栏 2120

java分页bean的实现

分页使用的一个bean,提供翻页和设置当前页,页跳转等

YOLOv8损失函数升级:从CIoU到Wise-IoU v3的实战调优与避坑指南

本文详细介绍了如何将YOLOv8的损失函数从CIoU升级到Wise-IoU v3,以提升目标检测性能,特别是在小目标检测和样本不均衡场景下的表现。通过实战调优步骤和避坑指南,帮助开发者有效应用Wise-IoU v3的动态聚焦机制和单调性控制,显著提升模型精度和训练稳定性。

weixin_33737774的博客 590

解决Struts分页显示

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

为理想而奋斗 8823

数理逻辑1 -- 命题演算1

一直对逻辑的东西很感兴趣,尤其最近做的东西和AI相关,因此下定决心系统地学习数理逻辑。这些笔记并不是严谨的描述,只是作为一些概念的快速参考,以及加入一些个人认为好玩的公式、定理和推导。 简单来说,数理逻辑系统是由一串“符号”组成的系统,基本元素是那一堆“符号”,由“符号”组成“式子”。逻辑系统并不关心“式子”是否对错,只关心“式子”是否存在,也即是假定存在某些“式子“,再确定”推导规则“(Rule

Jason渣神的专栏 1831

Struts实现分页显示数据

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

izhouxiaofei的博客 4869

【实用运维脚本】Windows 批量 TCP 端口检测(tcping 一键巡检)

摘要:本文介绍一款高效的Windows批量TCP端口检测脚本,适配tcpingv0.39工具,实现多服务器一键巡检。脚本具有进度可视化、双日志输出、自动容错等优势,支持注释行过滤和UTF-8编码。 使用仅需三步: 1)下载tcping工具 2)编辑目标列表 3)运行脚本即可自动检测并生成带编号的检测报告。 该方案解决了手动检测效率低、易遗漏的问题,特别适合日常运维中的端口连通性检查,实测稳定可靠,开箱即用。

蕲士|D365 & 服务器运维,心有东坡,行稳致远。 798

用VFP计算 CRC-16 Modbus 校验位

1. Modbus是一种串行通信协议,最初由Modicon(目前属于施耐德电气公司)于1979年开发2. Modbus协议是应用在Modicon产品上的,后来才被移植到其他产品上3. Modbus协议的通信接口可以有多种选择,如RS232、RS485、以太网等。

lddnzx的博客 518

解决Struts分页显示(z)

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

null 1387

Open3D (C++) KD tree的使用【2025最新版】

Open3D (C++) KD tree的使用,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 1566

Struts1.2实现MySQL数据库分页

  应一位朋友的要求。今晚也是我的周末,所以做了个分页。虽然网上相似文章比较多,不过我做分页的时候,看网上的文章也难做得出来。第一次写博客,希望看了我这篇《Struts1.2实现MySQL数据库分页》的还不能做出一个分页的朋友拍我砖头。没办法,文章写作太差了。   我的平台是:Eclipse3.2   MyEclipse5.5 Tomcat5.5 MySql5.0   第一步:创建数据

树下无影的专栏 1299

Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.5 V4L2 control的原理和实现

既然涉及到视频输入,就会有很多与 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。 内核中已经为我们提供了这个控制类型的,我们只需要明确自己需要添加什么控制类型,然后将其添加进内核中即可。该部分摄像头代码一半厂家会提供驱动或者相对应的参数,否则没有图像处理知识很难开发出来。 返回总目录...

DSMGUOGUO的博客 1435

【ArcGIS微课1000例】0149:Geographic Imager6.6下载安装教程

首先保证电脑上安装对应版本的PS软件,笔者安装的是PS2023(V24.7)版本,然后安装本软件。保持以上窗口运行状态,然后打开PS,自动弹出如下窗口。勾选【Automatically checkout LIcense】,点击Close。双击setup开始安装,点击【确认】,一路默认安装到底。驱动器:DVD-ROM驱动器(用于DVD版本)处理器:2GHz或更快的英特尔或AMD处理器。安装完成后,将Crack中的所有文件拷贝到。硬盘:600 MB的可用硬盘空间用于安装。内存:4GB内存(建议8GB或更高)。

智慧空间实验室 1217

使用Struts2实现分页显示

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

anglela的博客 205

远程声控系统(MATLAB代码见优快云资源)

远程声控系统技术报告 一、题目要求 实现一个远程声音控制系统。首先采集不同的语音指示信号,进行适当压缩;然后通过噪声信道实现远程传输,远端接收后再通过适当计算识别出是何指示,最后送入一个处于未知状态、但能控/能观的控制系统,完成不同的控制动作。 二、问题分解与解决思路 2.1 系统设计 实验中以汉语数字语音1~9作为指令,数字语音“1”代表一号指令,数字语音“2”代表二号指令,依次类推。发送端发出语音“1”,发送端对应的数字语音文件为“1b.wav”,通过信源编码对语音进行压缩编码,然后进行信道编码并进行基

业精于勤,荒于嬉 5734

如何在Struts 数据库应用程序中实现分页显示(2)

如何在Struts 数据库应用程序中实现分页显示 [相关链接]《JavaWebStudio系列开发工具Visaul Struts版本简介》http://dev.youkuaiyun.com/develop/article/28/28871.shtm《如何实现最简单的Struts程序》http://dev.youkuaiyun.com/develop/article/28/28946.shtm《Struts下拉框的

kui的专栏 2004

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

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

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Struts2 分页

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

broadLove的专栏 1267

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Struts中实现分页

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

616

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: Struts复选框的实现
下一篇: 如何实现Struts 数据库应用程序(2)
kui
kui
博客等级 码龄25年 199粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值