雇员管理系统-SSH版(九)
2017-12-24 09:28
288 查看
显示雇员信息
一 页面层关键代码
MainFrame.jsp
listEmp.jsp
二 控制层关键代码
EmployeeAction
三 业务层关键代码
EmployeeService
BasicService
四 显示结果
一 页面层关键代码
MainFrame.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";> <html> <head> <title>My JSP 'MainFrame.jsp' starting page</title> </head> <body> <h2>欢迎${loginuser.name} 你所在的部门名称是${loginuser.department.name } 请选择您要的操作</h2> <a href="${pageContext.request.contextPath}/employee.do?flag=addEmpUi">添加雇员</a><br/> <a href="${pageContext.request.contextPath}/employee.do?flag=goListEmp">显示雇员</a><br/> <a href="#">查询雇员</a><br/> <a href="#">退出系统</a><br/> </body> </html>
listEmp.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"; %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";> <html> <head> <title>用户列表</title> <script type="text/javascript" language="javascript" src="/myssh/js/jquery-1.3.1.js"></script> <script type="text/javascript" language="javascript" src="/myssh/js/my.js"></script> </head> <body> <h1>用户列表</h1> <table> <tr><td>id</td><td>name</td><td>email</td><td>grade</td><td>salary</td><td>修改用户</td><td>删除用户</td></tr> <c:forEach items="${emplist}" var="emp"> <tr><td>${emp.id }</td><td>${emp.name }</td> <td>${emp.email }</td><td>${emp.grade }</td> <td>${emp.salary }</td><td><a href="${pageContext.request.contextPath}/employee.do?flag=goUpdEmpUi&id=${emp.id }">修改用户</a></td> <td><a class="delid" href="${pageContext.request.contextPath}/employee.do?flag=delEmp&id=${emp.id }">删除用户</a></td> </tr> </c:forEach> </table> <c:forEach var="i" begin="1" end="${pageCount}"> <a href="${pageContext.request.contextPath}/employee.do?flag=goListEmp&pageNow=${i }">${i }</a> </c:forEach> </body> </html>
二 控制层关键代码
EmployeeAction
package com.hsp.web.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import com.hsp.domain.Department; import com.hsp.domain.Employee; import com.hsp.service.interfaces.DepartmentServiceInter; import com.hsp.service.interfaces.EmployeeServiceInter; import com.hsp.web.forms.EmployeeForm; public class EmployeeAction extends DispatchAction { private DepartmentServiceInter departmentService; private EmployeeServiceInter employeeService; public void setEmployeeService(EmployeeServiceInter employeeService) { this.employeeService = employeeService; } public void setDepartmentService(DepartmentServiceInter departmentService) { this.departmentService = departmentService; } public ActionForward addEmpUi(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub //打通线路 return mapping.findForward("goAddEmpUi"); } //处理添加雇员的请求 public ActionForward addEmp(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub //看看这里是否能够得到用户提交的各种数据 EmployeeForm employeeForm=(EmployeeForm)form; //System.out.println(employeeForm.getDepartmentId()+" "+employeeForm.getEmail()); //创建一个Employee对象 Employee employee=new Employee(); employee.setEmail(employeeForm.getEmail()); employee.setGrade(Integer.parseInt(employeeForm.getGrade())); employee.setHiredate(new java.util.Date()); employee.setName(employeeForm.getName()); employee.setPwd(employeeForm.getPwd()); employee.setSalary(Float.parseFloat(employeeForm.getSalary())); //该雇员是哪个部门! employee.setDepartment((Department)departmentService.findById(Department.class, Integer.parseInt(employeeForm.getDepartmentId()))); //保存 try { employeeService.add(employee); } catch (Exception e) { return mapping.findForward("opererr"); } return mapping.findForward("operok"); } public ActionForward goListEmp(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String s_pageNow=request.getParameter("pageNow"); int pageNow=1; if(s_pageNow!=null){ pageNow=Integer.parseInt(s_pageNow); } // TODO Auto-generated method stub request.setAttribute("emplist", employeeService.showEmployList(3,pageNow)); //测试 int pageCount=employeeService.getPageCount(3); request.setAttribute("pageCount", pageCount); //打通线路 return mapping.findForward("goListEmp"); } //删除雇员 public ActionForward delEmp(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //获取雇员的id String id=request.getParameter("id"); System.out.println("删除雇员id = "+id); try { employeeService.delById(Employee.class, Integer.parseInt(id)); } catch (Exception e) { return mapping.findForward("opererr"); // TODO: handle exception } //打通线路 return mapping.findForward("operok"); } //跳转到雇员的界面 public ActionForward goUpdEmpUi(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //获取雇员的id String id=request.getParameter("id"); //获取雇员 Employee e=(Employee) employeeService.findById(Employee.class, Integer.parseInt(id)); //显示雇员信息,在下一个页面 request.setAttribute("emp", e); return mapping.findForward("goUpdEmpUi"); } //更新雇员 public ActionForward updEmp(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //获取表单 EmployeeForm ef=(EmployeeForm)form; //ef->doamin Employee employee=new Employee(); employee.setId(Integer.parseInt(ef.getId())); employee.setEmail(ef.getEmail()); employee.setGrade(Integer.parseInt(ef.getGrade())); employee.setName(ef.getName()); employee.setPwd(ef.getPwd()); employee.setSalary(Float.parseFloat(ef.getSalary())); employee.setDepartment((Department)departmentService.findById(Department.class, Integer.parseInt(ef.getDepartmentId()))); try { employeeService.update(employee); } catch (Exception e) { return mapping.findForward("opererr"); } return mapping.findForward("operok"); } }
三 业务层关键代码
EmployeeService
package com.hsp.service.imp; import java.io.Serializable; import java.util.List; import javax.annotation.Resource; import org.hibernate.Hibernate; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.springframework.transaction.annotation.Transactional; import com.hsp.basic.BasicService; import com.hsp.domain.Department; import com.hsp.domain.Employee; import com.hsp.service.interfaces.EmployeeServiceInter; //这里配置@Transactional用处是让spring的事务管理器接管该 Service的事务. public class EmployeeService extends BasicService implements EmployeeServiceInter { //显示所有雇员 public List showEmployList(int pageSize,int pageNow){ String hql="from Employee order by id"; return this.executeQueryByPage(hql, null, pageNow, pageSize); } public int getPageCount(int pageSize){ String hql="select count(*) from Employee"; return this.queryPageCount(hql, null, pageSize); } //验证用户 public Employee checkEmploye(Employee e) { // TODO Auto-generated method stub System.out.println("checkEmploye"); String hql="from Employee where id=? and pwd=?"; Object []parameters ={e.getId(),e.getPwd()}; List list=this.executeQuery(hql, parameters); if(list.size()==0){ return null; }else{ return (Employee) list.get(0); } } }
BasicService
package com.hsp.basic; import java.io.Serializable; import java.util.Iterator; import java.util.List; import javax.annotation.Resource; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.transaction.annotation.Transactional; @Transactional public abstract class BasicService implements BasicServiceInter { @Resource private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } public void add(Object obj) { this.sessionFactory.getCurrentSession().save(obj); } //统一查询方法(hql) public List executeQuery(String hql, Object[] parameters) { // TODO Auto-generated method stub Query query=this.sessionFactory.getCurrentSession().createQuery(hql); //注入?值 if(parameters!=null && parameters.length>0){ for(int i=0;i<parameters.length;i++){ query.setParameter(i, parameters[i]); } } return query.list(); } //分页 public List executeQueryByPage(String hql, Object[] parameters, int pageNow, int PagesSize) { // TODO Auto-generated method stub Query query=this.sessionFactory.getCurrentSession().createQuery(hql); if(parameters!=null && parameters.length>0){ for(int i=0;i<parameters.length;i++){ query.setParameter(i, parameters[i]); } } //体现分页 return query.setFirstResult((pageNow-1)*PagesSize).setMaxResults(PagesSize).list(); } //统一的修改和删除 public List executeUpdate(String hql, Object[] parameters) { // TODO Auto-generated method stub return null; } public Object findById(Class clazz, Serializable id) { // TODO Auto-generated method stub return this.sessionFactory.getCurrentSession().get(clazz, id); } public Object uniqueQuery(String hql, Object[] parameters) { // TODO Auto-generated method stub Query query=this.sessionFactory.getCurrentSession().createQuery(hql); //给?赋值 if(parameters!=null && parameters.length>0){ for(int i=0;i<parameters.length;i++){ query.setParameter(i, parameters[i]); } } return query.uniqueResult(); } public int queryPageCount(String hql, Object[] parameters, int pageSize) { // TODO Auto-generated method stub //获取rowCount /* List list=this.executeQuery(hql, parameters); Iterator iteator=list.iterator(); if(iteator.hasNext()){ }*/ Object obj=this.uniqueQuery(hql, parameters); //System.out.println("obj value= "+ obj);//obj如果等于rowConunt int rowCount=Integer.parseInt(obj.toString()); return (rowCount-1)/pageSize+1; } public void delById(Class clazz,Serializable id) { // TODO Auto-generated method stub Session session=this.sessionFactory.getCurrentSession(); session.delete(this.findById(clazz, id)); } public void update(Object object) { // TODO Auto-generated method stub this.sessionFactory.getCurrentSession().update(object); } }
四 显示结果
相关文章推荐
- 雇员管理系统ssh之准备1
- 雇员管理系统-SSH版(四)
- 雇员管理系统-SSH版(八)
- 雇员管理系统-SSH版(十)
- 雇员管理系统-SSH版(五)
- 雇员管理系统-SSH版(六)
- ssh之雇员管理系统(6)-解决中文乱码问题
- 雇员管理系统-SSH版(七)
- ssh之雇员管理系统(5)-将struts+spring整合
- 雇员管理系统-SSH版(一)
- ssh之雇员管理系统(8)-增加其他功能
- 雇员管理系统ssh之准备2
- 雇员管理系统-SSH版(二)
- Spring 雇员管理系统SSH 1
- ssh之雇员管理系统(1)-spring测试
- ssh之雇员管理系统(2)-hibernate测试
- Spring 雇员管理系统SSH 3
- Spring 雇员管理系统SSH 4