zoukankan      html  css  js  c++  java
  • 十六、·实现显示所有雇员

    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>
  • 相关阅读:
    JAVA_SWT 事件的四种写法
    JAVA静态数据的初始化;
    Centos 安装freesurfer fsl matlab 等软件---转自网络
    ROC和AUC————摘在网络
    转自网络用LIBSVM进行回归预测的粗浅认识————————作者师梦
    fmri格式相关简介————转自网络
    fMRI数据分析处理原理及方法————转自网络
    装机、做系统必备:秒懂MBR和GPT分区表____转载网络
    【转】Thymeleaf自动在URL后加了;jsessionid=的问题
    LeetCode (85): Maximal Rectangle [含84题分析]
  • 原文地址:https://www.cnblogs.com/myz666/p/8444781.html
Copyright © 2011-2022 走看看