需求:通过用户名和用户角色查询符合条件的用户列表信息
UserController.java
package cn.smbms.controller; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import cn.smbms.pojo.Role; import cn.smbms.pojo.User; import cn.smbms.service.role.RoleService; import cn.smbms.service.user.UserService; import cn.smbms.tools.Constants; import cn.smbms.tools.PageSupport; @Controller @RequestMapping("/user") public class UserController{ private Logger logger = Logger.getLogger(UserController.class); @Resource private UserService userService; @Resource private RoleService roleService; @RequestMapping(value="/login.html") public String login(){ logger.debug("UserController welcome SMBMS=================="); return "login"; } @RequestMapping(value="/dologin.html",method=RequestMethod.POST) public String doLogin(@RequestParam String userCode,@RequestParam String userPassword,HttpServletRequest request,HttpSession session){ logger.debug("doLogin===================================="); //调用service方法,进行用户匹配 User user = userService.login(userCode,userPassword); if(null != user){//登录成功 //放入session session.setAttribute(Constants.USER_SESSION, user); //页面跳转(frame.jsp) return "redirect:/user/main.html"; //response.sendRedirect("jsp/frame.jsp"); }else{ //页面跳转(login.jsp)带出提示信息--转发 request.setAttribute("error", "用户名或密码不正确"); return "login"; } } @RequestMapping(value="/main.html") public String main(HttpSession session){ if(session.getAttribute(Constants.USER_SESSION) == null){ return "redirect:/user/login.html"; } return "frame"; } @RequestMapping(value="/logout.html") public String logout(HttpSession session){ //清除session session.removeAttribute(Constants.USER_SESSION); return "login"; } @RequestMapping(value="/exlogin.html",method=RequestMethod.GET) public String exLogin(@RequestParam String userCode,@RequestParam String userPassword){ logger.debug("exLogin===================================="); //调用service方法,进行用户匹配 User user = userService.login(userCode,userPassword); if(null == user){//登录失败 throw new RuntimeException("用户名或者密码不正确!"); } return "redirect:/user/main.html"; } /*@ExceptionHandler(value={RuntimeException.class}) public String handlerException(RuntimeException e,HttpServletRequest req){ req.setAttribute("e", e); return "error"; }*/ @RequestMapping(value="/userlist.html") public String getUserList(Model model, @RequestParam(value="queryname",required=false) String queryUserName, @RequestParam(value="queryUserRole",required=false) String queryUserRole, @RequestParam(value="pageIndex",required=false) String pageIndex){ logger.info("getUserList ---- > queryUserName: " + queryUserName); logger.info("getUserList ---- > queryUserRole: " + queryUserRole); logger.info("getUserList ---- > pageIndex: " + pageIndex); int _queryUserRole = 0; List<User> userList = null; //设置页面容量 int pageSize = Constants.pageSize; //当前页码 int currentPageNo = 1; if(queryUserName == null){ queryUserName = ""; } if(queryUserRole != null && !queryUserRole.equals("")){ _queryUserRole = Integer.parseInt(queryUserRole); } if(pageIndex != null){ try{ currentPageNo = Integer.valueOf(pageIndex); }catch(NumberFormatException e){ return "redirect:/user/syserror.html"; //response.sendRedirect("syserror.jsp"); } } //总数量(表) int totalCount = userService.getUserCount(queryUserName,_queryUserRole); //总页数 PageSupport pages=new PageSupport(); pages.setCurrentPageNo(currentPageNo); pages.setPageSize(pageSize); pages.setTotalCount(totalCount); int totalPageCount = pages.getTotalPageCount(); //控制首页和尾页 if(currentPageNo < 1){ currentPageNo = 1; }else if(currentPageNo > totalPageCount){ currentPageNo = totalPageCount; } userList = userService.getUserList(queryUserName,_queryUserRole,currentPageNo,pageSize); model.addAttribute("userList", userList); List<Role> roleList = null; roleList = roleService.getRoleList(); model.addAttribute("roleList", roleList); model.addAttribute("queryUserName", queryUserName); model.addAttribute("queryUserRole", queryUserRole); model.addAttribute("totalPageCount", totalPageCount); model.addAttribute("totalCount", totalCount); model.addAttribute("currentPageNo", currentPageNo); return "userlist"; } @RequestMapping(value="/syserror.html") public String sysError(){ return "syserror"; } }
RoleDao.java
package cn.smbms.dao.role; import java.sql.Connection; import java.util.List; import cn.smbms.pojo.Role; public interface RoleDao { public List<Role> getRoleList(Connection connection)throws Exception; }
RoleDaoImpl.java
package cn.smbms.dao.role; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Repository; import cn.smbms.dao.BaseDao; import cn.smbms.pojo.Role; @Repository public class RoleDaoImpl implements RoleDao{ @Override public List<Role> getRoleList(Connection connection) throws Exception { // TODO Auto-generated method stub PreparedStatement pstm = null; ResultSet rs = null; List<Role> roleList = new ArrayList<Role>(); if(connection != null){ String sql = "select * from smbms_role"; Object[] params = {}; rs = BaseDao.execute(connection, pstm, rs, sql, params); while(rs.next()){ Role _role = new Role(); _role.setId(rs.getInt("id")); _role.setRoleCode(rs.getString("roleCode")); _role.setRoleName(rs.getString("roleName")); roleList.add(_role); } BaseDao.closeResource(null, pstm, rs); } return roleList; } }
RoleService.java
package cn.smbms.service.role; import java.util.List; import cn.smbms.pojo.Role; public interface RoleService { public List<Role> getRoleList(); }
RoleServiceImpl.java
package cn.smbms.service.role; import java.sql.Connection; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Service; import cn.smbms.dao.BaseDao; import cn.smbms.dao.role.RoleDao; import cn.smbms.pojo.Role; @Service public class RoleServiceImpl implements RoleService{ @Resource private RoleDao roleDao; @Override public List<Role> getRoleList() { // TODO Auto-generated method stub Connection connection = null; List<Role> roleList = null; try { connection = BaseDao.getConnection(); roleList = roleDao.getRoleList(connection); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ BaseDao.closeResource(connection, null, null); } return roleList; } }
添加工具类PageSurport.java
package cn.smbms.tools; public class PageSupport { //当前页码-来自于用户输入 private int currentPageNo = 1; //总数量(表) private int totalCount = 0; //页面容量 private int pageSize = 0; //总页数-totalCount/pageSize(+1) private int totalPageCount = 1; public int getCurrentPageNo() { return currentPageNo; } public void setCurrentPageNo(int currentPageNo) { if(currentPageNo > 0){ this.currentPageNo = currentPageNo; } } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { if(totalCount > 0){ this.totalCount = totalCount; //设置总页数 this.setTotalPageCountByRs(); } } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { if(pageSize > 0){ this.pageSize = pageSize; } } public int getTotalPageCount() { return totalPageCount; } public void setTotalPageCount(int totalPageCount) { this.totalPageCount = totalPageCount; } public void setTotalPageCountByRs(){ if(this.totalCount % this.pageSize == 0){ this.totalPageCount = this.totalCount / this.pageSize; }else if(this.totalCount % this.pageSize > 0){ this.totalPageCount = this.totalCount / this.pageSize + 1; }else{ this.totalPageCount = 0; } } }
syserror.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h1>请登录后再访问该页面!</h1> <a href="${pageContext.request.contextPath }/user/login.html">返回</a> </body> </html>
rolepage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> </script> </head> <body> <div class="page-bar"> <ul class="page-num-ul clearfix"> <li>共${param.totalCount }条记录 ${param.currentPageNo }/${param.totalPageCount }页</li> <c:if test="${param.currentPageNo > 1}"> <a href="javascript:page_nav(document.forms[0],1);">首页</a> <a href="javascript:page_nav(document.forms[0],${param.currentPageNo-1});">上一页</a> </c:if> <c:if test="${param.currentPageNo < param.totalPageCount }"> <a href="javascript:page_nav(document.forms[0],${param.currentPageNo+1 });">下一页</a> <a href="javascript:page_nav(document.forms[0],${param.totalPageCount });">最后一页</a> </c:if> </ul> <span class="page-go-form"><label>跳转至</label> <input type="text" name="inputPage" id="inputPage" class="page-key" />页 <button type="button" class="page-btn" onClick=‘jump_to(document.forms[0],document.getElementById("inputPage").value)‘>GO</button> </span> </div> </body> <script type="text/javascript" src="${pageContext.request.contextPath }/statics/js/rollpage.js"></script> </html>
userList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/WEB-INF/jsp/common/head.jsp"%> <div class="right"> <div class="location"> <strong>你现在所在的位置是:</strong> <span>用户管理页面</span> </div> <div class="search"> <form method="post" action="${pageContext.request.contextPath }/user/userlist.html"> <input name="method" value="query" class="input-text" type="hidden"> <span>用户名:</span> <input name="queryname" class="input-text" type="text" value="${queryUserName }"> <span>用户角色:</span> <select name="queryUserRole"> <c:if test="${roleList != null }"> <option value="0">--请选择--</option> <c:forEach var="role" items="${roleList}"> <option <c:if test="${role.id == queryUserRole }">selected="selected"</c:if> value="${role.id}">${role.roleName}</option> </c:forEach> </c:if> </select> <input type="hidden" name="pageIndex" value="1"/> <input value="查 询" type="submit" id="searchbutton"> <a href="${pageContext.request.contextPath}/jsp/useradd.jsp" >添加用户</a> </form> </div> <!--用户--> <table class="providerTable" cellpadding="0" cellspacing="0"> <tr class="firstTr"> <th width="10%">用户编码</th> <th width="20%">用户名称</th> <th width="10%">性别</th> <th width="10%">年龄</th> <th width="10%">电话</th> <th width="10%">用户角色</th> <th width="30%">操作</th> </tr> <c:forEach var="user" items="${userList }" varStatus="status"> <tr> <td> <span>${user.userCode }</span> </td> <td> <span>${user.userName }</span> </td> <td> <span> <c:if test="${user.gender==1}">男</c:if> <c:if test="${user.gender==2}">女</c:if> </span> </td> <td> <span>${user.age}</span> </td> <td> <span>${user.phone}</span> </td> <td> <span>${user.userRoleName}</span> </td> <td> <span><a class="viewUser" href="javascript:;" userid=${user.id } username=${user.userName }><img src="${pageContext.request.contextPath }/statics/images/read.png" alt="查看" title="查看"/></a></span> <span><a class="modifyUser" href="javascript:;" userid=${user.id } username=${user.userName }><img src="${pageContext.request.contextPath }/statics/images/xiugai.png" alt="修改" title="修改"/></a></span> <span><a class="deleteUser" href="javascript:;" userid=${user.id } username=${user.userName }><img src="${pageContext.request.contextPath }/statics/images/schu.png" alt="删除" title="删除"/></a></span> </td> </tr> </c:forEach> </table> <input type="hidden" id="totalPageCount" value="${totalPageCount}"/> <c:import url="rollpage.jsp"> <c:param name="totalCount" value="${totalCount}"/> <c:param name="currentPageNo" value="${currentPageNo}"/> <c:param name="totalPageCount" value="${totalPageCount}"/> </c:import> </div> </section> <!--点击删除按钮后弹出的页面--> <div class="zhezhao"></div> <div class="remove" id="removeUse"> <div class="removerChid"> <h2>提示</h2> <div class="removeMain"> <p>你确定要删除该用户吗?</p> <a href="#" id="yes">确定</a> <a href="#" id="no">取消</a> </div> </div> </div> <%@include file="/WEB-INF/jsp/common/foot.jsp" %> <script type="text/javascript" src="${pageContext.request.contextPath }/statics/js/userlist.js"></script>
运行结果:
原文地址:https://www.cnblogs.com/dongyaotou/p/12234223.html
时间: 2024-10-16 02:28:42