论文人力资源管理系统的设计与实现

大连交通大学2012届本科毕业设计(论文)

图5-2-3 登陆后的主界面

代码实现如下:

24

大连交通大学2012届本科毕业设计(论文)

href=\浏览培训计划

href=\查看培训总结

三、各项功能简介 1.人员管理

点击浏览人员信息,可以看到所有人员的信息,包括人员姓名,年龄,性别,出生日期以及简介。主页面如图5-3-1所示。

5-3-1 浏览人员信息主界面

同时可以进行信息的添加,添加界面如下图5-3-2所示:

25

大连交通大学2012届本科毕业设计(论文)

图5-3-2 添加人员信息主界面

下面重点介绍下修改功能,人员信息的列表的最后一列可以对该条记录做删除和修

改。删除的链接地址是“modifyuser.do?action=deleteuser&id=<%=u.getId()%>”它向Action的实现类提交了两个参数,一个是action=deleteuser是固定不变的,另一个是该用户的id这是根据不同记录取出来的。在UsersAction类中根据action的值可以找到与其相对的方法,如下所示:

private ActionForward deleteUser(ActionMapping mapping, ActionForm form, HttpServletRequest HibernateException {

Long id=new Long(request.getParameter(\ Users users=new Users(); users.setId(id); dao.deleteUsers(users);

return mapping.findForward(\ }

在这个方法里得到页面提交过来的用户ID,把这个id存在Users表中的实例中,传给dao的deleteUsers()方法,我们可以看到关于数据库方面的操作都被封装在Dao中。具体的删除操作的代码如下所示:

public void deleteUsers(Users users) throws HibernateException { Session session = HibSessionFactory.currentSession();

26

request, HttpServletResponse response) throws

大连交通大学2012届本科毕业设计(论文)

Transaction tx = session.beginTransaction(); session.delete(users); tx.commit();

HibSessionFactory.closeSession(); }

删除用户时和添加用户一样都是先得到一个Hibernate的Session,后调用它的delete()方法就可以了,操作完成后千万记得要提交事务,即调用commit()方法,和关闭Session。

修改人员的信息时必须先把要修改的人员信息先查找出来,让用户可以直观的根据以前的信息修改。这样在点击修改时也要传给Action一个用户ID,用来查询出用户信息,如下所示:

根据页面的链接可以在Struts的配置文件里找到相应的配置信息,如下所示:

它调用了UsersAction类,返回到updateuser.jsp文件,在UsserAction中同前面一样也是根据action的参数来识别出调用selectUser()方法的,方法实现如下所示: private ActionForward selectUser(ActionMapping mapping, ActionForm form, HttpServletRequest HibernateException {

Long id=new Long(request.getParameter(\ Users u=dao.loadUsers(id.longValue()); request.setAttribute(\ return mapping.findForward(\ }

这个方法使在调用Dao的loadUsres()的方法后,得到一个Users的返回值,里面存着与此id相对应的人员信息,然后在把它存在request里。loadUsres()方法实现如下所示:

public Users loadUsers(long id) throws HibernateException { Session session = HibSessionFactory.currentSession(); Transaction tx = session.beginTransaction();

Users u = (Users) session.load(Users.class, new Long(id)); tx.commit();

27

path=\

type=\

request, HttpServletResponse response) throws

联系客服:779662525#qq.com(#替换为@)