JavaWeb - 模糊查询 + 分页

简介: JavaWeb - 模糊查询 + 分页

1.效果图

image.png

2.核心代码(12个一页)

<!--搜索--><formid="searchForm"method="post"action="/product/list.do"><divclass="search"><inputtype="hidden"name="page"value="1"><inputtype="text"name="title"class="search_input"value="${title}"><inputtype="submit"class="search_submit"value=""></div></form><!--分页--><div><%--<ahref="/product/list.do?page=1">首页</a>--%><%--<ahref="/product/list.do?page=${prePage}">上一页</a>--%><%--<ahref="/product/list.do?page=${nextPage}">下一页</a>--%><%--<ahref="/product/list.do?page=${totalPage}">尾页</a>--%><formmethod="post"action="/product/list.do"style="display: inline"><inputtype="hidden"name="page"value="1"><inputtype="hidden"name="title"value="${title}"><inputtype="submit"value="首页"class="btn"></form><formmethod="post"action="/product/list.do"style="display: inline"><inputtype="hidden"name="page"value="${prePage}"><inputtype="hidden"name="title"value="${title}"><inputtype="submit"value="上一页"class="btn"></form><formmethod="post"action="/product/list.do"style="display: inline"><inputtype="hidden"name="page"value="${nextPage}"><inputtype="hidden"name="title"value="${title}"><inputtype="submit"value="下一页"class="btn"></form><formmethod="post"action="/product/list.do"style="display: inline"><inputtype="hidden"name="page"value="${totalPage}"><inputtype="hidden"name="title"value="${title}"><inputtype="submit"value="尾页"class="btn"></form>第${curPage}/共${totalPage}</div><!--响应内容省略-->
packagecom.imooc.cart.servlet;
importcom.imooc.cart.data.LocalCache;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjava.io.IOException;
/*** 商品(课程)控制器* @version 1.0*/publicclassProductServletextendsHttpServlet {
@Overrideprotectedvoidservice(HttpServletRequestreq, HttpServletResponseresp) throwsServletException, IOException {
Stringname=req.getParameter("title");
StringpageStr=req.getParameter("page");
intpage=1;
if (null!=pageStr&&!"".equals(pageStr)) {
page=Integer.parseInt(pageStr);
        }
inttotalProducts=LocalCache.getProductsCount(name);
inttotalPage=totalProducts%12>0?totalProducts/12+1 : totalProducts/12;
req.setAttribute("curPage", page);
req.setAttribute("prePage", page>1?page-1 : 1);
req.setAttribute("nextPage", totalPage>page?page+1 : totalPage);
req.setAttribute("totalPage", totalPage);
req.setAttribute("title", name);
req.setAttribute("products", LocalCache.getProducts(page, 12, name));
req.getRequestDispatcher("/WEB-INF/views/biz/list.jsp").forward(req, resp);
    }
}
packagecom.imooc.cart.data;
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
/*** 本地缓存* @version 1.0*/publicfinalclassLocalCache {
privatestaticMap<Long, Product>productMap=newHashMap<>();
// 省略...publicstaticList<Product>getProducts(intpage, intsize, Stringname) {
List<Product>products=newArrayList<>();
if (null!=name&&!"".equals(name)) {
productMap.values().forEach(product-> {
if (product.getName().contains(name)) {
products.add(product);
                }
            });
        } else {
products.addAll(productMap.values());
        }
intstart= (page-1) *size;
intend=products.size() >=page*size?page*size : products.size();
returnproducts.subList(start, end);
    }
publicstaticintgetProductsCount(Stringname) {
List<Product>products=newArrayList<>();
if (null!=name&&!"".equals(name)) {
productMap.values().forEach(product-> {
if (product.getName().contains(name)) {
products.add(product);
                }
            });
        } else {
products.addAll(productMap.values());
        }
returnproducts.size();
    }
}

3.待更新...

目录
相关文章
|
12天前
|
存储 前端开发 JavaScript
基于JavaWeb实现停车场管理系统
基于JavaWeb实现停车场管理系统
|
12天前
|
前端开发 JavaScript Java
图书借阅管理平台|基于JavaWeb实现图书借阅系统
图书借阅管理平台|基于JavaWeb实现图书借阅系统
|
7天前
|
前端开发 Java 关系型数据库
JavaWeb开发简介
JavaWeb开发简介
15 0
|
13天前
|
SQL Java 数据库连接
JavaWeb Mapper代理开发
JavaWeb Mapper代理开发
|
5天前
|
存储 JSON 前端开发
JavaWeb中用来定义统一的响应结果的result类
JavaWeb中用来定义统一的响应结果的result类
11 0
|
6天前
分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤
分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤
9 0
|
28天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(五十八)-java+ selenium自动化测试-分页测试(详细教程)
【5月更文挑战第22天】本文介绍了自动化测试分页的实现方法。首先,文章提出了测试分页时关注的三个关键点:总页数、当前页数和页码导航的可用性。接着,作者分享了一个实用网站([https://www.jq22.com/](https://www.jq22.com/))以找到示例进行实践。在代码部分,展示了使用Java和Selenium进行自动化测试的示例代码,包括获取总页数、遍历所有页面及判断当前页面等操作。最后,简要总结了分页自动化测试的实现过程。
28 1
|
8天前
|
Web App开发 JSON Java
JavaWeb基础第五章(请求,响应与分层解耦)
JavaWeb基础第五章(请求,响应与分层解耦)
|
1月前
|
存储 Java 数据库
学妹哭着找你教的Javaweb的文件上传与下载
该内容主要介绍了JavaWeb中的文件上传和下载操作。首先,通过一个JSP表单接收用户输入的图书信息和封面照片,表单数据提交给`AddBookServlet`。在Servlet中,使用SmartUpload库处理上传的图片,将图片以书号命名并保存至服务器,同时将图书信息存储到数据库。之后,请求转发到`ShowBook.jsp`展示所添加图书的详细信息。文件下载部分,通过`downServlet`完成,用户点击链接触发下载,Servlet设置响应头以附件形式提供文件下载。
37 1
|
1月前
|
SQL Java 关系型数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
JavaWeb(JDBC编程)看这一篇就够了 —— 如何使用Java操作mysql数据库
21 0