有参数时可以使用
2025-09-30
完成本任务所用到的主要知识点:
➢ JavaBean 与动作
➢ JSP 内置对象
假设有成百上千个商品,那么每次访问显示商品页面都列出所有的商品就不便于浏览了。为了避免这种情况,请为商品的显示页面实现分页功能。
分页的方式比较多,在这里使用比较常用的分页方式:在查询时通过SQL 语句进行分页,即每次查询时只查询某一页的数据。例如在网络购物车中查询商品,假如商品显示页面每页显示pageSize 条商品,那么在数据库中就可以使用如下SQL 语句查询“第pageNo 页”的商品。
上述SQL 语句根据id 筛选数据,先排除掉前面所有页的id,(pageNo-1)pageSize就表示pageNo 页之前的所有页的记录条数,然后再从排除后剩下的数据中取出前pageSize 条数据就自然是pageNo 页的数据。
实际上,此分页方式主要就是构造一个SQL 语句,只需要传递pageSize(每页显示的记录数)和pageNo(页码,表示第几页)两个参数就可以实现分页。但是在页面上还需要提供“上一页”“下一页”等翻页的按钮,显示记录总数、当前第几页、共多少页等分页信息,而且一个网站不仅仅是某一页面需要使用分页,所以为了提高分页的功能的重用性,应该封装一个分页的JavaBean,就可以在页面中通过JavaBean 对象获取和设置分页信息。
(1)定义分页JavaBean(PageModel.java),代码如下。
在PageModel 中封装了分页的信息,包含分页数据、页面显示的数据条数、总页数、总记录数和页码等,并提供了这些信息的获取方法。
(2)修改商品数据访问类(GoodsDao.java),代码如下。(https://www.chuimin.cn)
在GoodsDao.java 中,getAllGoods()方法接收了两个参数,一个是pageSize,另外一个是pageNo,并且返回值为PageModel。在getAllGoods()方法中,首先根据pageSize 和pageNo 构造了SQL 语句,然后将查询后的数据封装到PageModel 中,并设置了PageModel 对象的pageSize、pageNo 和totalRecords 属性。最后将PageModel 对象返回。getCountGoods()方法用于查询总的记录数。
(3)修改商品显示页面(showGoods.jsp),代码如下。
在页面中,首先获取传入页面的参数pageSize 和pageNo,并调用GoodsDao 的getAllGoods()获取商品信息。若没有传递pageSize 和pageNo 参数,则使用默认值。在显示商品表格的最后一行放置了分页的信息和翻页的链接,每个链接都调用了一个JavaScript 函数。在JavaScript 函数中,主要是根据pageSize 和pageNo 构建URL,然后将URL 赋值给window.location 属性刷新页面。
(4)运行测试。
运行showGoods.jsp,效果如图上机6.11 所示。
图上机6.11 分页效果
单击“下一页”,效果如图上机6.12 所示。
图上机6.12 单击“下一页”按钮后的效果
相关文章
有参数时可以使用
2025-09-30
在介绍Servlet 层次结构时,列出了javax.servlet 和javax.servlet.http 这两个包包含开发Servlet 需要用到的主要API,并将其进行了分类。在这里将详细介绍这些Servlet 常用API。Servlet API 是一组基于处理客户端和服务器之间请求和响应的Java 语言标准API。例如,HttpServlet 是常用的抽象类,它的HTTP 处理方法是空的。Servlet 接口中的方法见表2.3。Servlet API 提供了Servlet 接口的直接实现,称为GenericServlet。Servlet 可以通过这些类理解客户的请求,将其处理后的内容通过HttpServletResponse 回复到Web 容器。表2.6ServletResponse 接口中常用......
2025-09-30
统一资源定位符也被称为网页地址,是用于完整地描述Internet 上网页和其他资源的地址的一种标识方法。现在它已经被万维网联盟编制为Internet 标准RFC1738 了。例如:其中“http”指使用的协议,“mail.***.com”是服务器名,“80”是端口号,“/a/j/js3/main.jsp”是路径,“?sid=SDeQWJeebVpZIlKECzee”是询问。同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明,用户只要键入统一资源定位符的一部分(mail.***.com/a/j/js3/main.jsp?......
2025-09-30
通用资源标志符是互联网的一个协议要素,可以通过它来定位任何远程或本地的可用资源。URI 的通用格式为:其中协议指的是访问资源使用的协议名称,常见的有http、ftp、mailto、file 等。协议和主机名称或IP 地址间使用半角冒号(:)连接,包含资源路径的冒号后还有两个半角斜杠(//)。主机名称或IP 地址是用于在网络中查找服务器并用于和它建立连接来获取资源。因为在大部分情况下,服务器都会采用协议默认的端口号。......
2025-09-30
视频教学资源掌握请求转发与重定向掌握在Servlet 中处理表单数据掌握Servlet 编程中常见中文乱码的处理了解会话跟踪技术了解Servlet 与线程安全请在预习前完成下列单词的学习,并将单词写在横线上。隐藏域提交显示隐藏域信息2.编写一个HTML 页面模拟用户登录功能,提交到Servlet 中进行验证。当用户名为“admin”和密码为“123456”时,跳转到成功提示页面并显示登录用户名;当用户名和密码错误时,跳转到错误提示页面,效果如下图所示。......
2025-09-30
请求转发,也被称为内部跳转。考虑生活中的一个场景,110 报警中心收到群众报警电话,根据报警的内容,将报警请求交由不同的派出所进行处理。在这里,110 报警中心充当了一个调度员的角色,它负责将各种报警请求转发给实际的处理单位。例3.1:请求转发示例新建Java Web 项目ch04,在项目中建立两个Servlet:UseForward.java 和Other-Servlet.java。图3.1请求转发从运行结果可以看出,访问的是UseForward,而浏览器中显示的却是OtherServlet中的内容。......
2025-09-30
视频教学资源掌握JavaBean 的属性及相关概念掌握在JSP 中使用JavaBean掌握常见的JSP 标准动作的使用请在预习前完成下列单词的学习,并将单词写在横线上。产品信息页面2.在JSP 中使用标准动作元素来显示网站首页,网站头部包含一个top.jsp 页面,并传入一个参数“index.jsp”;网站中间包含一个center.jsp 页面,网站底部包含一个bottom.jsp 页面,效果如下图所示。......
2025-09-30
相关推荐