1.实现跳转,在mainFrame.jsp中,修改显示所有雇员的链接
<a href="${pageContext.request.contextPath}/employee.do?flag=goAddEmp">添加雇员</a><br/>
<a href="${pageContext.request.contextPath}/employee.do?flag=showAllEmp">显示雇员</a><br/>
<a href="#">查询雇员</a><br/>
<a href="#">退出系统</a><br/>
2.在EmployeeService中增加showAllEmp函数
public ActionForward showAllEmp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
List emps = employeeService.excuteQuery("from Employee", null);
request.getSession().setAttribute("emplist", emps);
return mapping.findForward("showAllEmp");
}
3.在struts-config.xml文件中配置forward
<action path="/login" parameter="flag" name="employeeForm">
<forward name="ok" path="/WEB-INF/mainFrame.jsp"></forward>
<forward name="err" path="/WEB-INF/login.jsp"></forward>
</action>
<action path="/employee" parameter="flag" name="employeeForm">
<!-- 跳往雇员添加界面 -->
<forward name="goAddEmp" path="/WEB-INF/addEmpUI.jsp"></forward>
<!-- 跳往显示所有雇员的界面 -->
<forward name="showAllEmp" path="/WEB-INF/showAllEmp.jsp"></forward>
</action>
4.在WEB-INF下新建showAllEmp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'showAllEmp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h2>用户列表</h2>
<table border="1px">
<tr><td>id</td><td>姓名</td><td>grade</td><td>email</td><td>薪水</td><td>修改</td><td>删除</td></tr>
<c:forEach items="${emplist}" var="emp">
<tr><td>${emp.id}</td><td>${emp.name}</td><td>${emp.grade}</td><td>${emp.email}</td><td>${emp.salary }</td><td><a href="#">修改</a></td><td><a href="#">删除</a></td></tr>
</c:forEach>
</table>
</body>
</html>
5.实现分页
5.1在EmployeeServiceInterface中新增方法
public interface EmployeeServiceInterface extends BasicServiceInterface{
public Employee loginCheck(Employee e);//登录验证
public int getPageCount(int pageSize);//一共能够分几页
public List showAllEmp(int pageNow,int pageSize);//分页显示所有雇员
}
5.2EmployeeService中重写showAllEmp(int pageNow,int pageSize)方法
public List showAllEmp(int pageNow, int pageSize) {
// TODO Auto-generated method stub
String hql="from Employee order by id";
List list = excuteQueryByPage(hql, null, pageNow, pageSize);
return list;
}
5.3EmployeeService中重写getPageCount(int pageSize)方法
//获取一共能分多少页
public int getPageCount(int pageSize){
String hql="select count(*) from Employee";
Object obj = uniqueQuery(hql, null);
int empNum = Integer.parseInt(obj.toString());//获取雇员总个数
System.out.println(empNum+"/"+pageSize+""+Math.ceil(empNum/pageSize));
return (empNum-1)/pageSize+1;//一共能分几页
}
5.4EmployeeAction中重写showAllEmp方法
public ActionForward showAllEmp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
int pageCount=employeeService.getPageCount(2);
System.out.println(pageCount);
request.setAttribute("pageCount", pageCount);
int pageNow=1;
if(request.getParameter("pageNow")!=null){
pageNow=Integer.parseInt(request.getParameter("pageNow").toString());
}
List list = employeeService.showAllEmp(pageNow,2);
request.setAttribute("emplist", list);
return mapping.findForward("showAllEmp");
}
5.5重写showAllEmp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'showAllEmp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h2>用户列表</h2>
<table border="1px">
<tr><td>id</td><td>姓名</td><td>grade</td><td>email</td><td>薪水</td><td>修改</td><td>删除</td></tr>
<c:forEach items="${emplist}" var="emp">
<tr><td>${emp.id}</td><td>${emp.name}</td><td>${emp.grade}</td><td>${emp.email}</td><td>${emp.salary }</td><td><a href="#">修改</a></td><td><a href="#">删除</a></td></tr>
</c:forEach>
</table>
<c:forEach var="i" begin="1" end="${pageCount}">
<a href="${pageContext.request.contextPath}/employee.do?flag=showAllEmp&pageNow=${i}">${i }</a>
</c:forEach>
</body>
</html>
来源:https://www.cnblogs.com/myz666/p/8444781.html