• 十六、·实现显示所有雇员


    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>
  • 相关阅读:
    IIS服务器支持.apk文件下载
    java序列化
    ECMAScript 5/6/7兼容性速查表
    jquery获得select选中索引
    javascript获取调用方法的父引用
    AsyncCTP &IdentityModel
    开源的Owin 的身份验证支持 和跨域支持
    为什么Application_BeginRequest会执行两次
    基于Redis的消息订阅/发布
    基于异步的MVC webAPI控制器
  • 原文地址:https://www.cnblogs.com/myz666/p/8444781.html
Copyright © 2020-2023  润新知