!
jsp页面获取值和传递好像没毛病,求各位大佬帮个忙
看第二次请求是请求转发还是重定向
Controller层
@Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @Autowired private RoleService roleService; //日志输出 private Logger logger = Logger.getLogger(UserController.class); //用户列表分页及查询方法 @RequestMapping("/list.html") public String getUserListPage(Model model, @RequestParam(value = "queryUserName",required = false) String queryUserName, @RequestParam(value = "queryUserRole",required = false) String queryUserRole, @RequestParam(value = "currentPageNo",required = false) String currentPageNo){ Integer _queryUserRole=null; List<User> userListPage=null; //当前页码数 int pageIndex=1; //每页显示条数 int pageSize = Constants.pageSize; if (queryUserName==null){ queryUserName=""; } if (queryUserRole!=null && !queryUserRole.equals("")){ _queryUserRole =Integer.parseInt(queryUserRole); } if(currentPageNo!=null){ pageIndex= Integer.parseInt(currentPageNo); }else{ System.out.println("cgyccc"); } //总条数 int totalCount =userService.totalCount(queryUserName,_queryUserRole); PageSupport pageSupport = new PageSupport(); pageSupport.setPageSize(pageSize); pageSupport.setTotalCount(totalCount); int totalPageCount = pageSupport.getTotalPageCount(); //控制首页和尾页 if (pageIndex<1){ pageIndex=1; }else if (pageIndex>totalPageCount){ pageIndex=totalPageCount; } //分页查询 //queryUserName _queryUserRole pageIndex pageSize userListPage = userService.getUserList(queryUserName,_queryUserRole,pageIndex,pageSize); //查询roleList List<Role> roleList = roleService.getRoleList(); model.addAttribute("userListPage", userListPage); model.addAttribute("queryUserName", queryUserName); model.addAttribute("_queryUserRole", _queryUserRole); model.addAttribute("totalCount", totalCount); model.addAttribute("totalPageCount", totalPageCount); model.addAttribute("currentPageNo", pageIndex); return "user"; }
dao层(Mapper)
//查询总条数 public int totalCount(@Param("userName") String userName, @Param("userRole") Integer userRole); //多表联查 public List<User> getUserListPage(@Param("userName") String userName, @Param("userRole") Integer userRole, @Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize);
Mapper.xml
<select id="totalCount" resultType="integer"> select count(*) from project_user <trim prefix="where" prefixOverrides="and | or"> <if test="userName!=null and userName!=''"> and userName like CONCAT ('%',#{userName},'%') </if> <if test="userRole!=null"> and userRole= #{userRole} </if> </trim> </select> <select id="getUserListPage" resultMap="userListPage"> select u.*,r.roleName from project_user u,project_role r where u.userRole = r.id <if test="userName!=null and userName!=''"> and userName like CONCAT ('%',#{userName},'%') </if> <if test="userRole!=null"> and userRole = #{userRole} </if> order by addtime desc limit #{pageIndex},#{pageSize} </select> <resultMap id="userListPage" type="user"> <result property="userRoleName" column="roleName"></result> </resultMap>
jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <html> <head> <title>用户列表展示页面</title> <link rel="stylesheet" href="${pageContext.request.contextPath}/statics/Bootstrap/css/bootstrap.min.css"> <link href="${pageContext.request.contextPath}/statics/css/bootstrap.min.css" rel="stylesheet"> <link href="${pageContext.request.contextPath}/statics/css/font-awesome.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/statics/css/demo.css"> <script type="text/javascript" src="${pageContext.request.contextPath}/statics/Bootstrap/js/jquery-1.12.4.js"></script> <script type="text/javascript" src="${pageContext.request.contextPath}/statics/Bootstrap/js/bootstrap.min.js"></script> <script type="text/javascript"> /*1.form 2.当前页码数*/ function page_nav(frm,num){ $("#currentPageNo").val(num); frm.submit(); } function jump_to(frm,num){ //alert(num); //验证用户的输入 var regexp=/^[1-9]\d*$/; var totalPageCount = document.getElementById("totalPageCount").value; //alert(totalPageCount); if(!regexp.test(num)){ alert("请输入大于0的正整数!"); return false; }else if((num-totalPageCount) > 0){ alert("请输入小于总页数的页码"); return false; }else{ page_nav(frm,num); } } </script> </head> <body> <div class="container"> <!-- 搜索框根据id/姓名搜索 重置按钮+查询按钮 --> <div class="row"> <div> <span>筛选搜索</span> </div> <div> <form method="get" action="${pageContext.request.contextPath}/user/list.html" > <%-- autocomplete 规定禁用自动完成功能。 placeholder 输入框默认显示 --%> <%-- queryUserName保存的是输入框输入的值,再调用方法的同时将它保存到model里--%> <span>输入搜索:</span> <input type="text" value="${queryUserName}" name="queryUserName" placeholder="账户" autocomplete="off” /"> <input type="submit" value="查询搜索"> <input type="reset" value="重置"> </form> </div> </div> <%-- 添加用户--%> <div class="row"> <div> <%-- 添加按钮 通过点击事件为他添加一个提交功能+弹窗功能--%> <span>数据列表</span> <a href="${pageContext.request.contextPath}/user/add.html"><button class="btn-primary" id="TianJ" value="添加">添加</button></a> </div> </div> <%-- 数据展示--%> <div class="row"> <table class="" cellpadding="0" cellspacing="0" border="1"> <tr class=""> <th width="10%">编号</th> <th width="10%" >账号</th> <th width="10%">姓名</th> <th width="10%">邮箱</th> <th width="20%">添加时间</th> <th width="10%">是否启用</th> <th width="30%">操作</th> </tr> <%-- c:forEach var相当于变量名 items要循环的数据 --%> <c:forEach var="user" items="${userListPage}" varStatus="status"> <tr> <td>${user.id }</td> <td>${user.userCode }</td> <td>${user.userName}</td> <td>${user.email }</td> <td><fmt:formatDate value="${user.addtime}" type="both"></fmt:formatDate></td> <td> <select name="senable" id="select01"> if(${user.enable==1}){ <option value="1">启用</option> }else{ <option value="2">不启用</option> } </select> </td> <%-- 为这三个按钮绑定点击事件,点击后弹窗(重点实现功能,最后调整样式) --%> <td> <%-- <button id="td_bu01">--%> <%-- <a href="${pageContext.request.contextPath}/user/.html"><span>分配角色</span></a>--%> <%-- </button>--%> <button id="td_bu01"> <a href="${pageContext.request.contextPath}/user/userUpdate.html?userCode=${user.userCode} "><span>编辑</span></a> </button> <button id="td_bu02"> <a class="" href="${pageContext.request.contextPath}/user/userDeleter.html?userName=${user.userName}"><span>删除</span></a> </button> </td> </tr> </c:forEach> </table> </div> <input type="hidden" id="totalPageCount" value="${totalPageCount}"/> <input type="hidden" id="currentPageNo" name="currentPageNo" value="1"/> <input type="hidden" id="path" value="${pageContext.request.contextPath}"> <%-- 分页功能--%> <div class="row"> <ul class=""> <li>共${totalCount }条记录 ${currentPageNo }/${totalPageCount }页</li> <c:if test="${currentPageNo>1}"> <a href="javascript:page_nav(document.forms[0],1);">首页</a> <a href="javascript:page_nav(document.forms[0],${currentPageNo-1});">上一页</a> </c:if> <c:if test="${currentPageNo<totalPageCount}"> <a href="javascript:page_nav(document.forms[0],${currentPageNo+1});">下一页</a> <a href="javascript:page_nav(document.forms[0],${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> </div> </body> </html>