jsp+jstl实现分页

JSTL+EL与商品管理+分页显示 主要内容: 1 JSTL知识点 2 EL知识点 3 商品的管理(增删改查――图片的上传、删除与更换) 4 分页管理详细内容: 1 JSTL知识点 JSP 标准标记库(Standard Tag Library,JSTL)是一组以标准化格式实现许多通用的Web站点功能的定制标记。JSTL的目标是为了简化JSP 页面的设计。 (1).配置JSTL 包括两个JAR文件,jstl.jar和st 阅读详情

demo1:body追求干净的jstl+el+mysql,实现了但有两点小问题:

1.文中红色标明的部分,总页面数处理不好,不是整数。

2.文中写法,mysql链接很容易丢失。

附上页面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@ page import="java.util.*" isELIgnored="false" %>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="tkl.download.dao.HibernateDAO"%>
<%@page import="tkl.download.dao.MessageBean"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<link rel="stylesheet" type="text/css" href="css/cust.css" />
<title>留言列表</title>
</head>
<body>
<div class="lylb">
<div class="lylb1">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
  <td width="20%" align="center">时间</td>
  <td width="34%" align="center">留言主题</td>
  <td width="32%" align="center">&nbsp;</td>
  <td width="14%" align="center">留言人</td>
 </tr>
</table>
</div>

<!-- take database connection -->
<sql:setDataSource var="datasource" url="jdbc:mysql://...?default-character-set=UTF-8"
 driver="org.gjt.mm.mysql.Driver" user="root" password="123456" />

 
<!-- fetch and set total row count -->
//此处要用下面的jstl+el显得很干净协调,但是pageCount变量不为整数,没想到很合适的转换方式。
//<sql:query var="countresults" dataSource="${datasource}">
//select count(*) as c from T_MESSAGE order by msgId DESC
//</sql:query>
//<c:set value="${countresults.rows[0].c}" var="totalSize" />
//<c:set var="maxRows" value="10" />
//<c:set var="pageCount" value="${totalSize % maxRows==0?(totalSize/maxRows+1):(totalSize/maxRows)}"/>

<%
 int totalSize = HibernateDAO.getInstance().getReplayedMessgeCount();
 int maxRows = 10;
 int pageCount = 0;
 if(totalSize % maxRows==0)
 {
  pageCount = totalSize/maxRows ;
 }
 else
 {
  pageCount = totalSize/maxRows + 1;
 }
 //define max rows per page
 pageContext.setAttribute("totalSize",totalSize);
 pageContext.setAttribute("maxRows",maxRows);
 pageContext.setAttribute("pageCount",pageCount);
%>

<c:if test="${totalSize>0}">
 <c:set var="pageIndex" value="${empty param.pageIndex? 0 : param.pageIndex}"/>

 <sql:query var="queryresults" dataSource="${datasource}"
  sql="select * from T_MESSAGE order by msgId DESC"
  startRow="${maxRows*param.pageIndex}" maxRows="${maxRows}"></sql:query>

 <div class="lylb2 a333"><c:forEach items="${queryresults.rows}" var="info">
  <div class="li">
  <div class="lbnum1">${fn:substring(info.leaveTime,0,10)}</div>
  <div class="lbnum2 red"><a href="messagesee.jsp?msgId=${info.msgId}"/>${fn:substring(info.leaveTitle,0,29)}</a>
  </div>
  <div class="lbnum3">${info.leaveName}</div>
  </div>
 </c:forEach></div>

 <div class="lylb3">
 <table width="100%" border="0" cellspacing="0" cellpadding="3">
  <tr>
   <td width="74%" align="middle">
   
   <c:if test="${pageIndex>0}">
    <a class = "red" href="?pageIndex=0">首页</a>
    <a class = "red" href="?pageIndex=${param.pageIndex-1}">上一页</a>
   </c:if>
     
      <c:if test="${pageCount>1}">
      <c:forEach begin="0" end="${pageCount-1}" step="1" var="pageNum">
    <c:if test="${pageIndex!=pageNum}">
     <a class = "red" href="?pageIndex=${pageNum}">[${pageNum+1}]</a>
    </c:if>
    <c:if test="${pageIndex==pageNum}">
     <strong>${pageNum+1}</strong>
              </c:if>
   </c:forEach>
  </c:if>
   
      <c:if test="${pageIndex<pageCount-1}">
    <a class = "red" href="?pageIndex=${param.pageIndex+1}">下一页</a>
    <a class = "red" href="?pageIndex=${pageCount-1}">末页</a>
      </c:if>

  </tr>
 </table>
 </div>
</c:if></div>
</body>
</html>

 

demo2:java+el+hibernate+mysql

<%@ page language="java" contentType="text/html; charset=UTF-8"
 pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@ page import="java.util.*" isELIgnored="false" %>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="tkl.download.dao.HibernateDAO"%>
<%@page import="tkl.download.dao.MessageBean"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<link rel="stylesheet" type="text/css" href="css/cust.css" />
<title>留言列表</title>
</head>
<body>

${pageIndex}
<div class="lylb">
<div class="lylb1">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
  <td width="20%" align="center">时间</td>
  <td width="34%" align="center">留言主题</td>
  <td width="32%" align="center">&nbsp;</td>
  <td width="14%" align="center">留言人</td>
 </tr>
</table>
</div>

<%
//<c:set var="maxRows" value="2" />
//<c:set var="pageCount" value="${totalSize % maxRows==0?(totalSize/maxRows+1):(totalSize/maxRows)}"/>
 int totalSize = HibernateDAO.getInstance().getReplayedMessgeCount();
 int maxRows = 10;
 int pageCount = 0;
 if(totalSize % maxRows==0)
 {
  pageCount =totalSize/maxRows ;
 }
 else
 {
  pageCount = totalSize/maxRows + 1;
 }
 //define max rows per page
 pageContext.setAttribute("totalSize",totalSize);
 pageContext.setAttribute("maxRows",maxRows);
 pageContext.setAttribute("pageCount",pageCount);
%>
<c:if test="${totalSize>0}">
 <c:set var="pageIndex" value="${empty param.pageIndex? 0 : param.pageIndex}"/>
<%
 Object obj =  pageContext.getAttribute("pageIndex");
 List<MessageBean> queryresults = null;
 try
 { 
  int pageIndex = Integer.valueOf(obj.toString());
  int startrow = pageIndex * maxRows;
  queryresults = HibernateDAO.getInstance().retievePagedReplayedMessge(startrow,maxRows);
 }catch(Exception ex)
 {
  queryresults = null;
 }
 pageContext.setAttribute("queryresults",queryresults);
%>
<c:choose>
<c:when test="${empty queryresults}">
<c:out value="选择的页面号码不对!"></c:out>
</c:when>
<c:otherwise>
 <div class="lylb2 a333">
 <c:set value="1" var="i"/>
 <c:forEach items="${queryresults}" var="info">
 <c:choose>
 <c:when test="${i%2==0}" >
  <div class="li" style="background: #FFFFFF">
  <div class="lbnum1" style="background: #FFFFFF">${fn:substring(info.leaveTime,0,10)}</div>
  <div class="lbnum2 red" style="background: #FFFFFF"><a href="messagesee.jsp?msgId=${info.msgId}"/>${fn:substring(info.leaveTitle,0,29)}</a>
  </div>
  <div class="lbnum3" style="background: #FFFFFF">${info.leaveName==null||info.leaveName==''?'游客':info.leaveName}</div>
  </div>
 </c:when>
 <c:otherwise>
  <div class="li" style="background: #EFEFF8">
  <div class="lbnum1" style="background: #EFEFF8">${fn:substring(info.leaveTime,0,10)}</div>
  <div class="lbnum2 red" style="background: #EFEFF8"><a href="messagesee.jsp?msgId=${info.msgId}"/>${fn:substring(info.leaveTitle,0,29)}</a>
  </div>
  <div class="lbnum3" style="background: #EFEFF8">${info.leaveName==null||info.leaveName==''?'游客':info.leaveName}</div>
  </div>
 </c:otherwise>
 </c:choose>
  <c:set value="${i + 1}" var="i"/>
 </c:forEach>
 </div>

 <div class="lylb3">
 <table width="100%" border="0" cellspacing="0" cellpadding="3">
  <tr>
   <td width="74%" align="middle">
   <c:if test="${pageIndex>0}">
    <a class = "red" href="?pageIndex=0">首页</a>
    <a class = "red" href="?pageIndex=${param.pageIndex-1}">上一页</a>
   </c:if>
         
           <c:if test="${pageCount>1}">
            <c:forEach begin="0" end="${pageCount-1}" step="1" var="pageNum">
     <c:if test="${pageIndex!=pageNum}">
      <a class = "red" href="?pageIndex=${pageNum}">[${pageNum+1}]</a>
     </c:if>
     <c:if test="${pageIndex==pageNum}">
      <strong>${pageNum+1}</strong>
                </c:if>
    </c:forEach>
   </c:if>
   
           <c:if test="${pageIndex<pageCount-1}">
    <a class = "red" href="?pageIndex=${param.pageIndex+1}">下一页</a>
    <a class = "red" href="?pageIndex=${pageCount-1}">末页</a>
           </c:if>

  </tr>
 </table>
 </div>
</c:otherwise>
</c:choose>
</c:if></div>
</body>
</html>

jstl分页jstl分页 javabean+jsp+jstl+sql server2005实现的分页 每页显示5条信息,出现页面的前后三页 立即下载

相关推荐

jstl实现jsp页面的分页

jstl实现jsp页面分页,分页格式为: 首页 上一页 3 4 5 6 7 下一页 尾页

【有源码】JavaWeb分页展示数据(含AJAX/JSTL/EL表达式等知识点)

使用AJAX等知识点实现无刷新分页实例项目。

Selma003的博客 1216

JSTL JSP 自定义标签 分页

jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-plugins使用详解: 导入jh-plugins.jar,引入标签库<%@ taglib prefix="jh" uri="/jh-plugins"%>; 1.分页标签库 PageModel pagem = new PageModel(); pagem.setDtotal(168); pagem.setPerPageNum(10); pagem.executeCalculate(); if(null!=request.getParameter("cpage")){ pagem.setCpage(Integer.valueOf(request.getParameter("cpage"))); }else{ pagem.setCpage(1); } <jh:pages value="${PageModel对象}" pageStep="5" javaScript="" styleClass="" viewURL=""/> 祝您使用愉快,谢谢! 作者:Hardy(admin@xkshow.cn) 项目开源地址:http://code.google.com/p/jh-plugins/

使用Jsp+Jstl+El+Servlet+Jdbc+三层架构实现列表查询&登录功能&CRUD功能&分页查询&复杂查询的思路步骤和代码

文章目录用户列表查询功能实现步骤登录功能实现步骤添加功能实现步骤删除功能实现步骤修改功能实现步骤删除选中功能实现步骤分页查询功能实现步骤复杂查询实现步骤实现效果动态展示目录结构数据准备实现代码 用户列表查询功能 实现步骤 编写userListServlet 调用service层的findAll()方法,返回list集合 将list集合存到request域对象中 转发到list.jsp页面展示 ...

Java码农ing的博客 3834

90nm CMOS工艺下6μW超低功耗LDO设计实战:从原理图到版图全解析

本文详细解析了在90nm CMOS工艺下设计一款静态功耗仅为6μW的超低功耗LDO(低压差线性稳压器)的全过程。文章深入探讨了如何通过改进型翻转电压跟随器(FVF)架构实现无输出电容设计,在满足极低功耗和芯片面积高效(chip-area-efficient)要求的同时,确保环路稳定性与快速瞬态响应,为物联网、可穿戴设备等应用提供关键电源管理解决方案。

weixin_29196613的博客 274

CTP开发实战:如何高效处理预埋单与委托单的完整流程(附代码示例)

本文深入探讨了CTP开发中预埋单与委托单的完整处理流程,从订单生命周期理解、核心代码实现到异步事件处理与系统健壮性构建。通过详细的代码示例和状态机分析,为开发者提供了构建高可靠订单处理系统的实战指南,重点解决了状态同步、异常恢复等关键工程挑战。

weixin_29234239的博客 116

JSTL的标签---实现分页

一、JSTL表达式介绍 JSTL是Java中的一个定制标记库集。(这个标记库集不需要自己编写,可以直接使用) 实现了JSP页面中的代码复用(基于标签库原理,重复率较高的代码块支持复用,提高效率) 书写JSP页面时可读性更强(长得很像xml,方便前端查看和参与开发) 二、JSTL表达式的下载使用 从maven仓库找到jstl放进pom https://mvnrepository.com/artifact/javax.servlet/jstl <dependency&gt

a1422346935的博客 951

DEMATEL-ISM模型的Python实现——方法介绍以及代码复现

本文参考文献与网络资料,对DEMATEL-ISM方法做了介绍何步骤描述,并给出Python代码进行了计算和绘图。

cros1的博客 2万+

用JSTL的实现简单分页

...@ page language="java" contentType="text/html; charset=ISO-8859-1"    pageEncoding="ISO-8859-1"%>DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">html>...@ taglib uri="http://java.sun

我的世界我的梦 3035

基于deepseek本地模型的本地知识库构建

通过以上步骤,你已经成功构建了一个基于 AnythingLLM 和 LM Studio 的本地知识库。这个系统不仅能够高效地存储和检索知识,还能结合强大的语言模型生成准确的回答。你可以根据自己的需求进一步扩展和优化这个系统,比如增加更多的文档格式支持、优化检索算法等。

qq_30178745的博客 1381

自制电吉他效果器 DIY PCB(二)电路图分析

自制DIY电吉他效果器 PCB(二)电路图分析 要自制一款效果器,看懂电路图是必须的,即使你已经有了完整的设计电路图,在电路的绘制已久焊接的时候电路知识都会用到。 在效果器电路中,比较简单的是过载失真类效果器的电路。混响延迟等与声相有关的由于电路比较复杂本人也没有尝试过。其他的例如EQ、哇音等等效果器复杂程度依设计各不相同,在能做出过载失真类效果器后,可以自行尝试。 我这里主要为大家介绍失真效果器...

qq_41342525的博客 2万+

一个完全用JSTL实现的JSP分页方案

样式是模仿Google的,我已经测试过了,主要思想就是把分页模块用JSTL写成一个INCLUDE文件,然后在要分页的页面调用,当然要传入必要的五个分页参数--------------------------------------------pager.inc.jsp文件如下:-------------------------------------------------------------

冰云的专栏 2869

FLUENT UDF编译及蒸发冷凝相关问题

蒸发冷凝与相间传质

weixin_48029137的博客 1万+

jstl+js+jsp 实现最简单的分页(附插件)

实现原理:页面一加载注入的list,是jsp页面通过jstl标签进行遍历在html元素中,我则通过控制html元素来使得被遍历的数组内容选择性的隐藏和显示,来实现分页。第一步:jsp页面中需要导入core jstl和function jstl 和下文提到的jq分页插件<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%

xyl_ice的博客 5730

【华为Hilink SDK Linux系统开发】目录 开源一小步

目录 【华为Hilink开发】第一章:华为hilink平台简介及开发流程 【华为Hilink开发】第二章:华为hilink SDK网络适配、网关添加删除 【华为Hilink开发】第三章:华为hilink SDK子设备添加、删除 【华为Hilink开发】第四章:华为hilink SDK子设备控制及同步 【华为Hilink开发】第五章:华为hilink SDK适配遇到的问题 ...

开源一小步 3619

UDS诊断服务基础详解之七-31服务

本节内容主要是讲解诊断服务中的31服务,包含31服务的使用场景,请求报文格式,响应报文格式,以及举例对31服务进行相关的说明

车载网络小D的博客 5627

JSP+Javabean+JSTL实现了记录分页显示

经过奋战,终于实现了在JSP中使用标准标签库实现记录分页显示,JSP代码为:         import="java.util.*,logicprocess.ProductBean,logicprocess.PageControl"          pageEncoding="UTF-8"%>http://java.sun.com/jsp/jstl/core" %>      商品信息

一格子休的专栏 1135

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

学习笔记_用hibernateQBC动态查询+jsp的jstl标签库实现的动态查询以及分页特效

本次为升级动态查询效果 新增了分页效果 实现技术 hibernate Criteria QBC 查询  + jsp el,jstl表达式  后台代码简单。难点在于如何运用到界面中。 session = util.getSession(); cri = session.createCriteria(MobilephoneInfo.class);// 创建c

0x0000001的专栏 657

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JSP:通过数学逻辑+JSTL实现简单的分页功能

其中,要展示的页面内容是一样的代码,这边分两种情况是为了让数据总条数不能整除也能正常显示,

Pb_23333的博客 244

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jsp EL表达式结合JSTL标准标签实现分页

http://java.sun.com/jstl/core_rt" %>http://java.sun.com/jstl/sql_rt" %>%@taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt"%>使用SQL标签"sun.jdbc.odbc.JdbcOdbcDriver" url ="jdbc:odbc:accp" user="

zp8126的专栏 5832

分页查询的实现(struts2+jsp+jstl+el)

使用 MySql 的分页查询语句 select * from project limit 5,5,打开表 project,获取全部记录,只要第 5 条记录后的 5 条记录,不包含第 5 条记录在内。 在 DAO 中将 select * from project limit ?,? 这条SQL语句框架准备好,在设置参数的时候,第1个参数设置为 (page-1)*rowsPerPage, 第 2 个参数设置为 rowsPerPage page 就是你要查看第几页,rowsPerPage 就是每页显示多少行,如果

liaowenxiong的博客 1032

JavaWeb 第4章 任务 2 使用 JSTL 实现列表展示 4.2.5 使用 JSTL 改造 JSP 分页实现

JavaWeb 应用设计及实战 目录 上一个任务/上一节 下一个任务/下一节 4.2.5 使用 JSTL 改造 JSP 分页实现 到目前为止,我们已经学习了如何使用 EL 表达式以及 JSTL 标签来优化页面的显示。 在新闻信息系统的多个页面中都需要分页显示,所以对于分页部分页可以使用 EL 表达 式和 JSTL 标签来进行优化。 升级分页显示...

JavaDarren的博客 405

Jsp技术入门指南【十三】基于 JSTL SQL 标签库实现 MySQL 数据库连接与数据分页展示

本文介绍了如何通过JSTL SQL标签库实现MySQL数据库连接与数据分页展示。首先,回顾了JSTL SQL标签的基本概念及其优势,强调了其在简化JSP页面开发中的作用。接着,详细讲解了如何使用<sql:setDataSource>标签配置数据库连接,并提供了MySQL的示例代码。文章还通过实例演示了如何将数据库中的数据渲染到前端页面,包括驱动包的引入、Maven环境的配置以及Web库的创建与导入。通过本文,读者可以掌握从数据库到前端页面的完整数据流转技术方案。

2402_83322742的博客 2287

jsp前端实现分页代码

前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 private Integer totalPage; //总页数 private Integer currPage; //当前页 private Integer start...

Dominic0112的博客 439
上一篇: JavaMail发邮件以及邮件乱码之解决
下一篇: hibernate常见问题之解决
focusforce
博客等级 码龄19年 50粉丝 21原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值