jsp 条件查询、列表分页
条件查询
dao
- //根据搜索条件筛选数据
- public List<User> GetUserBySearch(String userName, String sex) throws SQLException {
- String sql = "select * from User where 1=1 ";
- List<String> params = new ArrayList<String>();
- if (userName != null && userName != "") {
- sql += " and UserName like ?";
- params.add("%"+userName+"%");
- }
- if (sex != null && sex != "") {
- sql += " and sex = ?";
- params.add(sex);
- }
- QueryRunner qr = new QueryRunner(DBUtil.GetDataSource());
- List<User> users = qr.query(sql, new BeanListHandler<User>(User.class), params.toArray());
- return users;
- }
service
- public List<User> GetUserBySearch(String userName,String sex) throws SQLException {
- UserDao dao = new UserDao();
- return dao.GetUserBySearch(userName,sex);
- }
userList servlet
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String userName = request.getParameter("userName");
- String sex = request.getParameter("sex");
- UserService service = new UserService();
- List<User> userList = null;
- try {
- //userList = service.GetAllService();
- userList = service.GetUserBySearch(userName,sex);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- request.setAttribute("userName",userName);
- request.setAttribute("sex",sex);
- request.setAttribute("userList", userList);
- request.getRequestDispatcher("userList.jsp").forward(request,response);
- }
userList.jsp
- <%@ page import="com.david.domain.User" %>
- <%@ page import="java.util.List" %>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>用户列表</title>
- </head>
- <body>
- <div>
- 按用户名称搜索:<input id="txtUserName" value="${userName}">
- 按用户性别查找:<select id="selSex">
- <option value="">全部</option>
- <option value="男">男</option>
- <option value="女">女</option>
- </select>
- <button type="button" onclick="search()">搜索</button>
- </div>
- <script>
- //设置默认值
- window.onload = function (){
- for(var i = 0;i<document.getElementById("selSex").options.length;i++){
- var option = document.getElementById("selSex").options[i];
- if(option.value == "${sex}"){
- option.selected = true;
- }
- }
- }
- function search(){
- var userName = document.getElementById("txtUserName").value;
- var sex = "";
- for(var i = 0;i<document.getElementById("selSex").options.length;i++){
- if(document.getElementById("selSex").options[i].selected){
- sex = document.getElementById("selSex").options[i].value;
- }
- }
- location.href='userList?userName='+userName+"&sex="+sex;
- }
- </script>
- <table>
- <tr>
- <th>用户ID</th>
- <th>用户名</th>
- <th>用户密码</th>
- <th>用户年龄</th>
- <th>用户性别</th>
- <th>操作</th>
- </tr>
- <%
- if (request.getAttribute("userList") != null) {
- %>
- <%for (User u : (List<User>) request.getAttribute("userList")) {%>
- <tr>
- <td><%=u.getUserId()%>
- </td>
- <td><%=u.getUserName()%>
- </td>
- <td><%=u.getPassWord()%>
- </td>
- <td><%=u.getAge()%>
- </td>
- <td><%=u.getSex()%>
- </td>
- <td>
- <a href="GetUserById?userId=<%=u.getUserId()%>">修改</a>
- <a href="DeleteUser?userId=<%=u.getUserId()%>">删除</a>
- </td>
- </tr>
- <%}%>
- <%}%>
- </table>
- <a href="AddUser.jsp">添加用户</a>
- </body>
- </html>
列表分页
在domain中创建pageBean实体
- package com.david.domain;
- import java.util.List;
- public class PageBean<T> {
- //当前页
- private int curPage;
- //当前显示条数
- private int pageSize;
- //总页数
- private int totalPage;
- //总条数
- private int totalCount;
- //展示的数据
- private List<T> Data;
- public int getCurPage() {
- return curPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public int getTotalPage() {
- return totalPage;
- }
- public int getTotalCount() {
- return totalCount;
- }
- public List<T> getData() {
- return Data;
- }
- public void setCurPage(int curPage) {
- this.curPage = curPage;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public void setTotalPage(int totalPage) {
- this.totalPage = totalPage;
- }
- public void setTotalCount(int totalCount) {
- this.totalCount = totalCount;
- }
- public void setData(List<T> data) {
- Data = data;
- }
- }
在dao中 创建分页方法
- //获取总条数
- public int GetUserCount(String userName, String sex) throws SQLException {
- String sql = "select count(*) from User where 1=1 ";
- List<String> params = new ArrayList<String>();
- if (userName != null && userName != "") {
- sql += " and UserName like ?";
- params.add("%" + userName + "%");
- }
- if (sex != null && sex != "") {
- sql += " and sex = ?";
- params.add(sex);
- }
- QueryRunner qr = new QueryRunner(DBUtil.GetDataSource());
- long count = (long)qr.query(sql,new ScalarHandler(),params.toArray());
- return (int)count;
- }
- public List<User> GetUserListForPageBean(String userName, String sex, int page, int pageSize) throws SQLException {
- String sql = "select * from User where 1=1 ";
- List<Object> params = new ArrayList<Object>();
- if (userName != null && userName != "") {
- sql += " and UserName like ?";
- params.add("%" + userName + "%");
- }
- if (sex != null && sex != "") {
- sql += " and sex = ?";
- params.add(sex);
- }
- sql += " limit ?,?";
- page = (page - 1) * pageSize;
- params.add(page);
- params.add(pageSize);
- QueryRunner qr = new QueryRunner(DBUtil.GetDataSource());
- List<User> users = qr.query(sql, new BeanListHandler<User>(User.class), params.toArray());
- return users;
- }
service
- public PageBean<User> GetUserListForPageBean(String userName, String sex, int page, int pageSize) throws SQLException {
- UserDao dao = new UserDao();
- PageBean pageBean = new PageBean();
- pageBean.setCurPage(page);
- pageBean.setPageSize(pageSize);
- int totalCount = dao.GetUserCount(userName, sex);
- pageBean.setTotalCount(totalCount);
- int totalPage = (int) Math.ceil(1.0 * totalCount / pageSize);
- pageBean.setTotalPage(totalPage);
- List<User> data = dao.GetUserListForPageBean(userName,sex,page,pageSize);
- pageBean.setData(data);
- return pageBean;
- }
UserListForPage servlet
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String userName = request.getParameter("userName");
- String sex = request.getParameter("sex");
- String page = request.getParameter("page");
- int curPage = 1;
- if(page != null && page != ""){
- curPage = Integer.parseInt(page);
- }
- int pageSize = 5;
- UserService service = new UserService();
- PageBean<User> pageBean = null;
- try {
- pageBean = service.GetUserListForPageBean(userName,sex,curPage,pageSize);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- request.setAttribute("userName",userName);
- request.setAttribute("sex",sex);
- request.setAttribute("pageBean", pageBean);
- request.getRequestDispatcher("userListForPage.jsp").forward(request,response);
- }
web.xml
- <servlet>
- <servlet-name>UserListForPage</servlet-name>
- <servlet-class>com.david.web.UserListForPage</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>UserListForPage</servlet-name>
- <url-pattern>/userListForPage</url-pattern>
- </servlet-mapping>
userListForPage.jsp
- <%@ page import="com.david.domain.User" %>
- <%@ page import="java.util.List" %>
- <%@ page import="com.david.domain.PageBean" %>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>用户列表</title>
- </head>
- <body>
- <div>
- 按用户名称搜索:<input id="txtUserName" value="${userName}">
- 按用户性别查找:<select id="selSex">
- <option value="">全部</option>
- <option value="男">男</option>
- <option value="女">女</option>
- </select>
- <button type="button" onclick="search()">搜索</button>
- <a href="AddUser.jsp">添加用户</a>
- </div>
- <script>
- //设置默认值
- window.onload = function (){
- for(var i = 0;i<document.getElementById("selSex").options.length;i++){
- var option = document.getElementById("selSex").options[i];
- if(option.value == "${sex}"){
- option.selected = true;
- }
- }
- }
- function search(){
- var userName = document.getElementById("txtUserName").value;
- var sex = "";
- for(var i = 0;i<document.getElementById("selSex").options.length;i++){
- if(document.getElementById("selSex").options[i].selected){
- sex = document.getElementById("selSex").options[i].value;
- }
- }
- location.href='userList?userName='+userName+"&sex="+sex;
- }
- </script>
- <table>
- <tr>
- <th>用户ID</th>
- <th>用户名</th>
- <th>用户密码</th>
- <th>用户年龄</th>
- <th>用户性别</th>
- <th>操作</th>
- </tr>
- <%
- PageBean pageBean = (PageBean)request.getAttribute("pageBean");
- if (pageBean != null && pageBean.getData() != null) {
- %>
- <%for (User u : (List<User>)pageBean.getData()) {%>
- <tr>
- <td><%=u.getUserId()%>
- </td>
- <td><%=u.getUserName()%>
- </td>
- <td><%=u.getPassWord()%>
- </td>
- <td><%=u.getAge()%>
- </td>
- <td><%=u.getSex()%>
- </td>
- <td>
- <a href="GetUserById?userId=<%=u.getUserId()%>">修改</a>
- <a href="DeleteUser?userId=<%=u.getUserId()%>">删除</a>
- </td>
- </tr>
- <%}%>
- <%}%>
- </table>
- <div class="page">
- <%if(pageBean.getCurPage() != 1){%>
- <a href="?page=1">首页</a>
- <a href="?page=<%=pageBean.getCurPage()-1%>">上一页</a>
- <%}%>
- <%for(int i = 1;i<=pageBean.getTotalPage();i++){
- %>
- <%if(pageBean.getCurPage() == i){%>
- <a href="?page=<%=i%>" class="currentPage"><%=i%></a>
- <%}else{%>
- <a href="?page=<%=i%>"><%=i%></a>
- <%}%>
- <%}%>
- <%if(pageBean.getCurPage() != pageBean.getTotalPage()){%>
- <a href="?page=<%=pageBean.getCurPage()+1%>">下一页</a>
- <a href="?page=<%=pageBean.getTotalPage()%>">尾页</a>
- <%}%>
- 共<%=pageBean.getTotalCount()%>条数据,<%=pageBean.getTotalPage()%>页。
- </div>
- <style>
- .page a{
- font-size:12px;
- text-decoration: none;
- color:#ccc;
- }
- .page .currentPage{
- color:#000;
- font-size:20px;
- }
- </style>
- </body>
- </html>
jsp 条件查询、列表分页的更多相关文章
- SSM整合 mybatis多条件查询与分页
多条件查询与分页: 通过页面的houseName.floorage获取值传到前端视图(HouseSearchVO)实体类中的houseName,floorage建立houseSearchVO对象. 通 ...
- Spring MVC和Spring Data JPA之按条件查询和分页(kkpaper分页组件)
推荐视频:尚硅谷Spring Data JPA视频教程,一学就会,百度一下就有, 后台代码:在DAO层继承Spring Data JPA的PagingAndSortingRepository接口实现的 ...
- TP条件查询和分页查询
一.条件查询 前端页面 <!doctype html> <html> <head> <meta charset="utf-8"> & ...
- WebFrom 小程序【条件查询与分页整合】
将前面的条件查询功能与分页显示整合到一个页面中 <%@ Page Language="C#" AutoEventWireup="true" CodeFil ...
- spring data jpa实现多条件查询(分页和不分页)
目前的spring data jpa已经帮我们干了CRUD的大部分活了,但如果有些活它干不了(CrudRepository接口中没定义),那么只能由我们自己干了.这里要说的就是在它的框架里,如何实现自 ...
- (转)Entity Framework4.1实现动态多条件查询、分页和排序
原文:http://www.cnblogs.com/ahui/archive/2011/08/04/2127282.html EF通用的分页实现: 1 2 3 4 5 6 7 8 9 10 11 12 ...
- PHP连接数据库实现多条件查询与分页功能——关于租房页面的完整实例操作
租房页面如图: 代码如下: <!DOCTYPE html><html> <head> <meta charset="UTF-8& ...
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
一.不带有动态条件的查询 分页的实现 实例代码: controller:返回的是Page<>对象 @Controller @RequestMapping(value = "/eg ...
- thinkphp5.0多条件模糊查询以及多条件查询带分页如何保留参数
1,多条件模糊查询 等于:map[‘id′]=array(‘eq′,100);不等于:map[‘id′]=array(‘eq′,100);不等于:map[‘id’] = array(‘neq’,100 ...
随机推荐
- 【Unity Shaders】Diffuse Shading——创建一个自定义的diffuse lighting model(漫反射光照模型)
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- SpriteBuilder中应用智能精灵集之后提示找不到文件的解决
SpriteBuilder中有一个将方便的功能,可以用文件夹中的若干图片生成1张图片;这称之为智能精灵集合(smart sprite sheet).好处是可以一次性的加载图片到显存中去,提升了性能. ...
- 如何设计一个web容器
开发一个web容器涉及很多不同方面不同层面的技术,例如通信层的知识,程序语言层面的知识等等,且一个可用的web容器是一个比较庞大的系统,要说清楚需要很长的篇幅,本文旨在介绍如何设计一个web容器,只探 ...
- python 2.4 的字符串转时间(日期减法取间隔时间)
python 2.4中datetime有strftime方法,而无strptime方法.不能对字符串进行格式转换.比如不能将"2013-10-22"转化为日期. 2.4中字符串转日 ...
- 二叉树的最大深度算法面试题-leetcode学习之旅(3)
标题 Maximum Depth of Binary Tree 描述 The maximum depth is the number of nodes along the longest path f ...
- 线性表的顺序存储设计和实现 - API函数实现
基本概念 设计与实现 插入元素算法 判断线性表是否合法 判断插入位置是否合法 把最后一个元素到插入位置的元素后移一个位置 将新元素插入 线性表长度加1 获取元素操作 判断线性表是否合法 判断位置是否合 ...
- Gradle 1.12用户指南翻译——第四十章. ANTLR 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file
文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...
- 内核调试神器SystemTap — 更多功能与原理(三)
a linux trace/probe tool. 官网:https://sourceware.org/systemtap/ 用户空间 SystemTap探测用户空间程序需要utrace的支持,3.5 ...
- 不错的网络协议栈测试工具 — Packetdrill
Packetdrill - A network stack testing tool developed by Google. 项目:https://code.google.com/p/packetd ...