cdsp_studentManager.jsp 主页面
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<meta charset="utf-8" />
<base href="<%=basePath%>">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<script src="bootstrap/js/jquery-3.1.1.js">script>
<link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css" />
<script src="bootstrap/js/bootstrap.min.js">script>
<link type="text/css" rel="stylesheet" href="bootstrapvalidator-0.5.2-dist/dist/css/bootstrapValidator.min.css" />
<script type="text/javascript" src="bootstrapvalidator-0.5.2-dist/dist/js/bootstrapValidator.min.js" >script>
<script type="text/javascript" src="bootstrapvalidator-0.5.2-dist/dist/js/language/zh_CN.js">script>
<link type="text/css" href="font-awesome-4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<%--导入其他的CSS样式和JS文件--%>
<link href="css/basic.css" rel="stylesheet" />
<link href="css/custom.css" rel="stylesheet" />
<title>学生管理title>
head>
<body>
<%--allRecorders 模糊查询查到的数据量--%>
<%--lineSize 每页的数据量--%>
<%--currentPage 当前页--%>
<%--pageSize 一共几页--%>
<%--keyWord 关键字--%>
<%
String url = "/jsp/cdsp_information/manager/MStudentList.jsp";
int currentPage = 1;
String keyWord = "";//默认的关键字
int lineSize = 5;//每页显示的数据数
int allRecorders = 0;//保存总记录数
int pageSize = 0;//保存查询总页数
String column = "UserID";//定义默认的查询列
String columnData = "用户账号:UserID|用户姓名:UserName|用户状态:UserStatus";//可操作的查询列
if(session.getAttribute("currentPage")!=null){//表示有当前页
currentPage = Integer.parseInt(session.getAttribute("currentPage").toString());//取得当前页
System.out.println("!!!!!!!!!!!!!!!!!!currentPage:"+currentPage);
}
if(session.getAttribute("allRecorders")!=null){//表示有总数据量
allRecorders = Integer.parseInt(session.getAttribute("allRecorders").toString());//取得总数据量
System.out.println("!!!!!!!!!!!!!!!!!!allRecorders:"+allRecorders);
}
if(session.getAttribute("pageSize")!=null){//表示有总页数
pageSize = Integer.parseInt(session.getAttribute("pageSize").toString());//取得总页数
System.out.println("!!!!!!!!!!!!!!!!!!pageSize:"+pageSize);
}
if(session.getAttribute("lineSize")!=null){//表示有每页数据量
lineSize = Integer.parseInt(session.getAttribute("lineSize").toString());//取得每页数据量
System.out.println("!!!!!!!!!!!!!!!!!!lineSize:"+lineSize);
}
if(session.getAttribute("keyWord")!=null){//表示有查询的关键字
keyWord = session.getAttribute("keyWord").toString();//将取得的关键字进行转换
System.out.println("!!!!!!!!!!!!!!!!!!keyWord:"+keyWord);
}
if(session.getAttribute("column")!=null){//表示有查询的检索列
column = session.getAttribute("column").toString();
System.out.println("!!!!!!!!!!!!!!!!!!column:"+column);
}
%>
<div id="wrapper">
<%--引入登陆页面的头文件 开始--%>
<jsp:include page="cdsp_infoMheader.jsp">jsp:include>
<%--引入登陆页面的头文件 结束--%>
<div id="page-wrapper">
<div id="page-inner">
<%--面包屑导航--%>
<ol class="breadcrumb">
<li>用户管理li>
<li>学生管理li>
ol>
<div id="spiltSearchDiv">
<jsp:include page="/jsp/cdsp_information/manager/split_page_search.jsp">
<jsp:param name="columnData" value="<%=columnData%>">jsp:param>
<jsp:param name="keyWord" value="<%=keyWord%>">jsp:param>
<jsp:param name="allRecorders" value="<%=allRecorders%>">jsp:param>
<jsp:param name="column" value="<%=column%>">jsp:param>
<jsp:param name="pageSize" value="<%=pageSize%>">jsp:param>
jsp:include>
div>
<%--学生管理---操作栏---结束--%>
<%--设计一个创建学生用户的模态对话框---开始--%>
<%---- student(studentID, sStatus,managerID, studentName, studentPassword, sIdentity, sLastTime)--%>
<div class="modal fade" tabindex="-1" id="creStudent">
<div class="modal-dialog">
<div class="modal-content">
div>
div>
div>
<%--创建学生用户的模态对话框---结束--%>
<br>
<%--学生管理---查询栏---开始--%>
<h1>${QueryResult}h1>
<c:if test="${listByStudent != null}">
<%--查询结果不为空--%>
<table class="table table-bordered">
<tr>
<th><input type="checkbox" id="selAll" onclick="checkboxSelect(this,'UserNum')">th>
<th>学生学号th>
<th>学生姓名th>
<th>当前状态th>
<th>最后一次登录时间th>
<th>操作th>
tr>
<%--查询查询结果--%>
<c:forEach items="${listByStudent}" var="student">
<%--对数据进行依次循环输出 -- student(studentID, sStatus,managerID, studentName, studentPassword, sIdentity, sLastTime)--%>
<tr>
<%--${item.itemID} --%>
<%--${item.itemName} --%>
<%--${item.itemNote} --%>
<td><input type="checkbox" name="UserNum" id="UserNum" value="${student.studentID}">td>
<td>${student.studentID}td>
<td>${student.studentName}td>
<td>
<c:if test="${student.sStatus == 1}">
在线
c:if>
<c:if test="${student.sStatus == 2}">
不在线
c:if>
td>
<td>${student.sLastTime}td>
<td>
<a href="/jsp/cdsp_information/manager/UserInfo.jsp?UserID=${student.studentID}&UserName=${student.studentName}" class="btn btn-success" data-toggle="modal" data-target="#UserInfo"><i class="fa fa-search">i> 查看a>
<a class="btn btn-info" href="/jsp/cdsp_information/manager/cdsp_reStudentPasswordform.jsp?studentID=${student.studentID}" data-toggle="modal" data-target="#rePasswordModel"><i class="fa fa-edit">i> 修改密码a>
<a href="/jsp/cdsp_information/manager/MDelUser.jsp?MuserID=${student.studentID}" id="MDelUser" class="btn btn-danger" onclick="return delUser()"><i class="fa fa-trash-o">i> 删除a>
td>
tr>
c:forEach>
table>
<%--批量删除--%>
<td colspan="5"><input onclick="DelSelectUser('<%=basePath%>jsp/cdsp_information/manager/MDelSelectUser.jsp','UserAllNum','UserNum')" type="button" class="btn btn-danger" value="批量删除选中学生信息">td>
<%--分页栏--%>
c:if>
<div id="splitBarDiv">
<jsp:include page="/jsp/cdsp_information/manager/split_page_bar.jsp">
<jsp:param name="currentPage" value="<%=currentPage%>">jsp:param>
<jsp:param name="lineSize" value="<%=lineSize%>">jsp:param>
<jsp:param name="column" value="<%=column%>">jsp:param>
<jsp:param name="keyWord" value="<%=keyWord%>">jsp:param>
<jsp:param name="allRecorders" value="<%=allRecorders%>">jsp:param>
<jsp:param name="url" value="<%=url%>">jsp:param>
jsp:include>
div>
<%--学生管理---查询栏---结束--%>
div>
<div class="modal fade" tabindex="-1" id="rePasswordModel">
<div class="modal-dialog">
<div class="modal-content">
div>
div>
div>
<div class="modal fade" tabindex="-1" id="UserInfo">
<div class="modal-dialog">
<div class="modal-content">
div>
div>
div>
div>
div>
<%--引入尾部 开始--%>
<jsp:include page="/jsp/cdsp_information/cdsp_infofooter.jsp">jsp:include>
<%--引入尾部 结束--%>
<script src="js/jquery.metisMenu.js">script>
<script src="js/custom.js">script>
<script type="text/javascript">
$(function(){/* 文档加载,执行一个函数*/
$('#StudentIDQueryFrom').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {/*input状态样式图片*/
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {/*验证:规则*/
studentID: {
message: '学生ID无效',
validators: {
notEmpty: {
message: '查询的学生学号不能为空'
}
}
}
}
});
});
script>
<script type="text/javascript">
$(function(){/* 文档加载,执行一个函数*/
$('#StudentNameQueryFrom').bootstrapValidator({
message: 'This value is not valid',
feedbackIcons: {/*input状态样式图片*/
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {/*验证:规则*/
studentName: {
message: '学生姓名无效',
validators: {
notEmpty: {
message: '查询的学生姓名不能为空'
}
}
}
}
});
});
script>
<script type="text/javascript">
function delUser(){
if(window.confirm('请慎重选择是否删除该学生账户!是否删除?')){
if(window.confirm('请再次确认是否删除!')){
//alert("确定");
return true;
}else{
//alert("取消");
return false;
}
}else{
//alert("取消");
return false;
}
}
script>
<script type="text/javascript">
// 全选操作
// function checkboxSelect(元素名字){
function checkboxSelect(obj,eleName){
var item = document.all(eleName);
console.log(item.length == undefined);//打印
if(item.length == undefined){//表示只有一个元素,不是数组
document.getElementById(eleName).checked = this.checked;//当前触发属性
}else{
for (var x = 0 ; x < item.length ; x++){
item[x].checked = obj.checked;
}
}
}
script>
<script type="text/javascript">
// 删除选中的学生用户操作
// function DelSelectUser(要删除的操作路径,后端提交的参数名称要删除的传递过来的参数名称,元素名称取得数据的ID名称){
function DelSelectUser(url,paramName,eleName){
var data = "";//保存所有要删除的数据编号
//但是数据有可能是数组,也有可能只有一个
var item = document.all(eleName);
var count = 0;//保存要删除的数据个数
//判断是否有要删除的数据
if(item.length == undefined){//表示只有一个元素,不是数组
if (document.getElementById(eleName).checked == true){
//表示有数据选中,可以删除
data += document.getElementById(eleName).value;//取出数据
count ++;
}
}else{
for(var x = 0 ; x < item.length ; x++ ){
if(item[x].checked == true){
//被选中
count++;
data += item[x].value+"|";
}
}
}
if (count > 0){
//有要删除的数据
// alert(data);
console.log(data);
//进行提示是否要删除选中的数据!
if(window.confirm("你正在进行删除操作!请确定要删除选中的数据吗?")){
//再次提示是否删除
if(window.confirm("请再一次确认是否要删除选中的数据?")){
//确定要删除,进行跳转
console.log(url + "?" + paramName + "=" + data);
window.location = url + "?" + paramName + "=" + encodeURIComponent(data);
}else{
return false;
}
}else{
return false;
}
}else{
//没有要删除的数据,并进行提示
alert("你还未选择要删除的数据!!");
}
}
script>
<script type="text/javascript">
// 定义一个清空查询关键词的函数方法
function resetKeyWord(){
console.log("触发resetKeyWord事件!");//打印
// $选择器 : $("#表单的id") edit_note_form 表单 返回一堆的表单组,所以需要使用下标的方式,调用bootstrap提供的reset()方法
document.getElementById('kw').value = '';
}
script>
body>
html>
split_page_bar.jsp 分页栏页面
<%@ page pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<%--
代码的引入过程
"splitBarDiv">
"split_page_bar.jsp">
"currentPage" value="<%=currentPage%>">jsp:param>
<jsp:param name="lineSize" value="<%=lineSize%>">jsp:param>
<jsp:param name="column" value="<%=column%>">jsp:param>
<jsp:param name="keyWord" value="<%=keyWord%>">jsp:param>
<jsp:param name="allRecorders" value="<%=allRecorders%>">jsp:param>
<jsp:param name="url" value="<%=url%>">jsp:param>
jsp:include>
div>
--%>
<%//设置由外部接收的数据
String url = null;
int currentPage = 1;//当前页
int lineSize = 5;//每页数据数
String column = null;//检索列
String keyWord = null;//关键词
int allRecorders = 0;//总记录数
int pageSize = 0 ;//总页数
int lsData [] = new int [] {1,5,10,15,20,30,50,100} ;//每页显示多少条数据
%>
<%//接收外部传递的参数
try {
currentPage = Integer.parseInt(request.getParameter("currentPage"));
System.out.println("jsp/cdsp_information/manager/split_page_bar.jsp:currentPage:"+currentPage);
} catch (Exception e) {}
try {
allRecorders = Integer.parseInt(request.getParameter("allRecorders"));
System.out.println("jsp/cdsp_information/manager/split_page_bar.jsp:allRecorders:"+allRecorders);
} catch (Exception e) {}
try {
lineSize = Integer.parseInt(request.getParameter("lineSize"));
System.out.println("jsp/cdsp_information/manager/split_page_bar.jsp:lineSize:"+lineSize);
} catch (Exception e) {}
column = request.getParameter("column") ;
keyWord = request.getParameter("keyWord") ;
url = request.getParameter("url") ;
%>
<%//计算总页数
if (allRecorders > 0) {
pageSize = (allRecorders + lineSize - 1) / lineSize ;
} else { // 没有记录
pageSize = 1 ;
}
%>
<%
System.out.println("split_page_bar.jsp的keyWord;"+keyWord);
%>
<script type="text/javascript">
function goSplit(vcp) { // 根据外部传递的cp内容进行操作
console.log("触发goSplit事件!");//打印
var eleLs = document.getElementById("lsSel").value ;//取得显示数据量
try {
var eleKw = document.getElementById("kw").value ;//取得关键字
var eleCol = document.getElementById("colSel").value ;//取得查询列的值
window.location = "<%=url%>?cp=" + vcp + "&ls=" + eleLs + "&kw=" + eleKw + "&col=" + eleCol ;
} catch (Exception) {//如果出现异常,说明没有关键字和检索列
window.location = "<%=url%>?cp=" + vcp + "&ls=" + eleLs ;
}
}
script>
<input type="button" class="btn btn-default" value="首页" onclick="goSplit(1)" <%=currentPage == 1 ? "disabled" : ""%>>
<input type="button" class="btn btn-default" value="上一页" onclick="goSplit(<%=currentPage-1%>)" <%=currentPage == 1 ? "disabled" : ""%>>
<input type="button" class="btn btn-default" value="下一页" onclick="goSplit(<%=currentPage+1%>)" <%=currentPage == pageSize ? "disabled" : ""%>>
<input type="button" class="btn btn-default" value="尾页" onclick="goSplit(<%=pageSize%>)" <%=currentPage == pageSize ? "disabled" : ""%>>
<%--//添加一个下拉列表框--%>
跳转到:<select id="cpSel" onchange="goSplit(this.value)">
<%--动态控制的option--%>
<%
for (int x = 1;x <= pageSize;x++){
%>
<option value="<%=x%>" <%=currentPage == x ? "selected" : ""%>><%=x%>option>
<%
}
%>
select>页 每页显示:
<select id="lsSel" onchange="goSplit(1)">
<%
for (int x = 0 ; x
<option value="<%=lsData[x]%>" <%=lineSize == lsData[x] ? "selected" : ""%>><%=lsData[x]%>option>
<%
}
%>
select>
行记录
split_page_search.jsp 搜索栏页面
<%@ page pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
%>
<%
String columnData = null;//查询的数据列
String keyWord = null;//查询的关键字
String column = null;//查询的
int allRecorders = 0;//查询的总数据量
int pageSize = 0 ;//查询的总页数
%>
<%//接收页面的接收列
try{
allRecorders = Integer.parseInt(request.getParameter("allRecorders"));
}catch (Exception e){}
try{
pageSize = Integer.parseInt(request.getParameter("pageSize"));
}catch (Exception e){}
columnData = request.getParameter("columnData");
keyWord = request.getParameter("keyWord");
column = request.getParameter("column");
%>
<form class="form-inline">
<div class="form-group">
<%
if (columnData!=null){
%>
<select class="form-control" id="colSel">
<%
String result[] = columnData.split("\\|");
for (int x = 0 ; x < result.length ; x ++){
String temp[] = result[x].split(":");
%>
<option value="<%=temp[1]%>" <%=column.equals(temp[1])?"selected":""%>><%=temp[0]%>option>
<%
}
%>
select>
<%
}
%>
<input type="text" class="form-control" placeholder="请输入查询关键字" name="kw" id="kw" value="<%=keyWord%>">
<%
System.out.println("split_page_search.jsp的keyWord;"+keyWord);
System.out.println("split_page_search.jsp的column;"+column);
%>
<%--="btn btn-danger " onclick="resetKeyWord()">class="fa fa-remove"> 清空查询关键字--%>
<input class="btn btn-danger " type="button" value="清空关键字" onclick="resetKeyWord()">
<%--="btn btn-success" onclick="goSplit(1)">class="fa fa-search"> 开始检索--%>
<input type="button" class="btn btn-success" value="开始检索" onclick="goSplit(1)"><br>
div>
form>
<br>
<form action="StudentAllQuery.action" method="post" class="form-inline" id="StudentAllQueryFrom">
<button type="submit" class="btn btn-success" disabled="true"><i class="fa fa-list">i> 查询全部学生button>
<a class="btn btn-success" href="/jsp/cdsp_information/manager/creStudent.html" data-toggle="modal" data-target="#creStudent"><i class="fa fa-user-plus">i>创建学生用户a>
<button type="" class="btn btn-success"><i class="fa fa-list">i> Excel导入学生用户button>
form>
<br>
<span>一共查询到<%=allRecorders%>条记录,一共有<%=pageSize+1%>页span><br>
<%--,一共有<%=pageSize%>页。--%>
MStudentList.jsp 主页面转控制层页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Titletitle>
head>
<body>
<%--cp=1&ls=5&kw=11&col=UserStatus--%>
<%
int currentPage = 1;
String keyWord = "";//默认的关键字
int lineSize = 5;//每页显示的数据数
int allRecorders = 0;//保存总记录数
String column = "UserID";//定义默认的查询列
%>
<%
try{//如果没有输入参数那么就会是null,null无法变为数字
currentPage = Integer.parseInt(request.getParameter("cp"));
}catch(Exception e){}
try{//如果没有输入参数那么就会是null,null无法变为数字
lineSize = Integer.parseInt(request.getParameter("ls"));
}catch(Exception e){}
if(request.getParameter("kw")!=null){//表示有查询的关键字
System.out.println("取得关键字:"+new String(request.getParameter("kw").getBytes("iso-8859-1"), "utf-8"));
keyWord = new String(request.getParameter("kw").getBytes("iso-8859-1"), "utf-8");//将取得的关键字进行转换
}
if(request.getParameter("col")!=null){//表示有查询的检索列
column = request.getParameter("col");
}
session.setAttribute("currentPage",currentPage);
session.setAttribute("lineSize",lineSize);
session.setAttribute("keyWord",keyWord);
if (column.equals("UserID")) {
session.setAttribute("column", "UserID");
}else if (column.equals("UserName")){
session.setAttribute("column", "UserName");
}else {
session.setAttribute("column", "UserStatus");
}
%>
<%
System.out.println("MStudentList.jsp页面接收到的参数!");
System.out.println(currentPage);
System.out.println(lineSize);
System.out.println(keyWord);
System.out.println(column);
%>
<script type="text/javascript">
window.location = "MStudentList.action" ;
script>
body>
html>
struts_MUserList.xml 负责处理请求
<struts>
<package name="struts_MUserList" namespace="/" extends="struts-default">
<action name="MStudentList" class="com.jluzh.action.MUserListAction">
<result name="muserlist">/jsp/check/check.jspresult>
action>
package>
struts>
MUserListAction.java 处理请求的控制层
package com.jluzh.action;
import com.jluzh.service.factory.ServiceFactory;
import com.jluzh.vo.student;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.ArrayList;
import java.util.List;
/**
* Created by jluzh on 2017/4/17.
*/
public class MUserListAction extends ActionSupport {
private static final String TAG = "MUserListAction";
private static final String MUSERLIST = "muserlist";// 执行跳转信息
private Integer currentPage;// 当前页
private Integer lineSize;// 每页多少数据
private String keyWord;// 模糊查询的关键字
private String column;// 模糊查询列
@Override
public String execute() throws Exception {
System.out.println(TAG+":执行execute方法");
String msg = "";//表示提示信息
String url = "";//表示跳转路径
// 1、使用ServletActionContext获取request对象。
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
//2. 取得路径后的字符串 *
String status = request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/")+1);
System.out.println("取得路径后的字符串:"+status);
switch (status){
case "MStudentList.action":
System.out.println(TAG+":执行模糊查询学生用户的操作");
keyWord = (String) session.getAttribute("keyWord");//取得页面传过来的查询账户
column = (String) session.getAttribute("column");//取得页面传过来的查询列
// -- student(studentID, sStatus,studentID, studentName, studentPassword, sIdentity, sLastTime)
System.out.println(column.equals("UserID"));
if (column.equals("UserID")) {
column = "studentID";
}else if (column.equals("UserName")){
column = "studentName";
}else {
column = "sStatus";
}
lineSize = (Integer) session.getAttribute("lineSize");//取得页面传过来的查询每页多少数据
currentPage = (Integer) session.getAttribute("currentPage");//取得页面传过来的查询当前页
System.out.println("MUserListAction接收到的参数!");
System.out.println(currentPage);
System.out.println(lineSize);
System.out.println(keyWord);
System.out.println(column);
if (keyWord != null && !keyWord.equals("") && column != null && !column.equals("")){
if (ServiceFactory.getIStudentServiceInstance().getAllCount(column,keyWord)>0){
System.out.println(TAG+":有模糊查询结果!");
session.setAttribute("allRecorders",ServiceFactory.getIStudentServiceInstance().getAllCount(column,keyWord));//设置查询的数据量
session.setAttribute("lineSize",lineSize);//设置每页多少数据
session.setAttribute("currentPage",currentPage);//设置当前页
session.setAttribute("pageSize",ServiceFactory.getIStudentServiceInstance().getAllCount(column,keyWord)/lineSize);//总共多少页
System.out.println(TAG+"设置allRecorders:"+ServiceFactory.getIStudentServiceInstance().getAllCount(column,keyWord));
System.out.println(TAG+"设置pageSize:"+ServiceFactory.getIStudentServiceInstance().getAllCount(column,keyWord)/lineSize);
// 创建一个List对象来接收查询结果
List listByUser = new ArrayList();
//执行查询并将结果反倒List集合中
listByUser = ServiceFactory.getIStudentServiceInstance().findAllSplit(currentPage,lineSize,column,keyWord);
if (listByUser.size()>0){
//有查询结果,则将查询结果返回到页面
System.out.println(TAG+":模糊查询学生用户成功!");
request.setAttribute("msg","查询学生用户成功!");//提示信息
session.setAttribute("listByStudent",listByUser);
session.setAttribute("keyWord",keyWord);//保存查询的关键字
if (column.equals("studentID")) {
column = "UserID";
session.setAttribute("column",column);//保存查询的列
}else if (column.equals("studentName")){
column = "UserName";
session.setAttribute("column",column);//保存查询的列
}else {
column = "UserStatus";
session.setAttribute("column",column);//保存查询的列
}
request.setAttribute("url","/jsp/cdsp_information/manager/cdsp_studentManager.jsp");//增加学生成功后跳转到哪
return MUSERLIST;
}else{
///无查询结果,则将错误信息返回到页面
System.out.println(TAG + ":模糊查询学生用户失败!");
session.setAttribute("QueryResult","模糊查询用户失败!");
request.setAttribute("msg", "模糊查询学生用户数据失败!");//提示信息
request.setAttribute("url", "/jsp/cdsp_information/manager/cdsp_studentManager.jsp");//增加学生失败后跳转到哪
return MUSERLIST;
}
}else{
session.setAttribute("allRecorders",ServiceFactory.getIStudentServiceInstance().getAllCount(column,keyWord));//设置查询的数据量
session.setAttribute("pageSize",ServiceFactory.getIStudentServiceInstance().getAllCount(column,keyWord)/lineSize);//总共多少页
System.out.println(TAG+":无模糊查询结果!");
request.setAttribute("msg","无查询结果!!");
request.setAttribute("url","/jsp/cdsp_information/manager/cdsp_studentManager.jsp");
return MUSERLIST;
}
}else if (keyWord == null && !keyWord.equals("")){
System.out.println(TAG+":关键字为空!!");
request.setAttribute("msg","关键字为空!!");
request.setAttribute("url","/jsp/cdsp_information/manager/cdsp_studentManager.jsp");
return MUSERLIST;
}else {
System.out.println(TAG+":查询列为空!!");
request.setAttribute("msg","无关键字或查询列为空!!");
request.setAttribute("url","/jsp/cdsp_information/manager/cdsp_studentManager.jsp");
return MUSERLIST;
}
default:
System.out.println(TAG+":路径字符串有问题!!");
request.setAttribute("msg","路径字符串有问题!");
request.setAttribute("url","/jsp/cdsp_information/manager/cdsp_studentManager.jsp");
return MUSERLIST;
}
}
}
StudentDAOImpl.java DAO层
/**
* 进行列表的分页操作
* @param currentPage 当前所在的页
* @param lineSize 每页显示数据行数
* @param column 要进行模糊查询的数据列
* @param keyWord 模糊查询的关键字
* @return
* @throws SQLException
*/
@Override
public List findAllSplit(Integer currentPage, Integer lineSize, String column, String keyWord) throws SQLException {
//int allRecorders = 0;//保存总记录数
//int pageSize = 0;//保存总页数
System.out.println(TAG+"正在执行findAllSplit方法:数据的模糊查询");
//编写一个接收查询数据的对象
List all = new ArrayList();
// -- student(studentID, sStatus,studentID, studentName, studentPassword, sIdentity, sLastTime)
// 1.创建执行书本模糊查询的SQL语句
String sql =" SELECT studentID,sStatus,sIdentity,studentName,studentPassword,sLastTime " +
" FROM student " +
" WHERE "+ column +" LIKE ? LIMIT ?,? ";
System.out.println(sql);
// select * from tablename limit 2,4
// 即取出第3条至第6条,4条记录
// 2.将SQL语句赋给执行对象
this.pstmt = conn.prepareStatement(sql);
this.pstmt.setString(1,"%"+keyWord+"%");// 模糊查询 %关键词%
this.pstmt.setInt(2,(currentPage-1)*lineSize);//(当前所在的页 - 1) * 每页显示数据行数
this.pstmt.setInt(3,lineSize);//每页最多显示数据行数
//让对象执行查询,将结果放到ResultSet
ResultSet rs = this.pstmt.executeQuery();
//使用while进行查询
while(rs.next()){
//查询到了数据,将其添加到对象中
//实例化一个接收数据的单个books对象
student studentVo = new student();
studentVo.setStudentID(rs.getString(1));//设置接收数据的对象的学生学号
studentVo.setsStatus(rs.getInt(2));//设置接收数据的对象的学生状态
studentVo.setsIdentity(rs.getString(3));//设置接收数据的对象的学生身份
studentVo.setStudentName(rs.getString(4));//设置接收数据的对象的学生姓名
studentVo.setStudentPassword(rs.getString(5));//设置接收数据的对象的学生密码
studentVo.setsLastTime(rs.getTimestamp(6));//设置接收数据的对象的学生姓名
//设置完参数后将该对象添加到List集合中
all.add(studentVo);
}
System.out.println(TAG+"findAllSplit方法执行完成!");
return all;//返回一个模糊查询到的所有数据的all集合
}
/**
* 查询数据量
* @param column 要进行模糊查询的数据列
* @param keyWord 模糊查询的关键字
* @return
* @throws SQLException
*/
@Override
public Integer getAllCount(String column, String keyWord) throws SQLException {
System.out.println(TAG+"正在执行getAllCount方法:模糊查询数据量的统计");
// -- student(studentID, sStatus,studentID, studentName, studentPassword, sIdentity, sLastTime)
// 1.创建执行添加书本的SQL语句 column 要进行模糊查询的数据列
String sql = " SELECT COUNT(*) FROM student WHERE "+column+" LIKE ? ";
// 2.将SQL语句设置给执行对象
this.pstmt = conn.prepareStatement(sql);
// 3.给执行对象的SQL语句设置参数
this.pstmt.setString(1,"%"+keyWord+"%");//设置查询的关键字
// 3.让执行对象执行SQL语句,并将结果返回到ResultSet中
ResultSet rs = this.pstmt.executeQuery();
if(rs.next()){
System.out.println(TAG+"正在执行getAllCount方法:模糊查询数据量的统计-----------完成 有数据");
return rs.getInt(1);//返回查询到的总记录数
}
System.out.println(TAG+"正在执行getAllCount方法:模糊查询数据量的统计-----------完成 数据为0");
return 0;
}