码迷,mamicode.com
首页 > 其他好文 > 详细

OA项目5:系统管理之岗位管理

时间:2014-10-20 18:46:55      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   使用   

首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频的文字版,本人用此来加强巩固自己开发知识,如有网友转载,请注明。谢谢。

一 设计实体和表

  1.建立javabean,建立角色类Role.java,具体如下:  

  bubuko.com,布布扣
 1 package cn.clear.oa.domain;
 2 
 3 public class Role {
 4 
 5     private Long id;
 6     private String name;
 7     private String description;
 8     public Long getId() {
 9         return id;
10     }
11     public void setId(Long id) {
12         this.id = id;
13     }
14     public String getName() {
15         return name;
16     }
17     public void setName(String name) {
18         this.name = name;
19     }
20     public String getDescription() {
21         return description;
22     }
23     public void setDescription(String description) {
24         this.description = description;
25     }
26     
27     
28 }
Role.java

  2.建立相应的Role.hbm.xml映射文件,具体如下:

  bubuko.com,布布扣
 1 <?xml version="1.0"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC 
 3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
 5 
 6 <hibernate-mapping package="cn.clear.oa.domain">
 7     <class name="Role" table="oa_role">
 8         <id name="id"><generator class="native"/></id>
 9         <property name="name"/>
10         <property name="description"/>
11     </class>
12 </hibernate-mapping>
Role.hbm.xml

  3.将上面的映射文件在hibernate.cfg.xml中配置,内容如下:

  <mapping resource="cn/clear/oa/domain/Role.hbm.xml" />

二 岗位管理功能分析:

  查询:点击岗位管理,进入一个结果列表显示页面,在这个页面里,分别有添加,修改,删除按钮。(需要一个请求)

  添加:点击添加,进入添加页面,然后填写完信息,点击保存,返回到结果列表显示页面。(需要两个请求)

  修改:点击修改,进入修改页面,然后填写完信息,点击保存,返回到结果列表显示页面。(需要两个请求)

  删除:点击删除,弹出是否删除对话框,点击是,删除该条记录。(需要一个请求)

  注意:从一个功能转到另一个功能,必须用重定向,防止刷新重复提交表单;一个功能的内部跳转使用转发。所以查询,添加,修改,删除需要用到重定向。

  增删改查共有4个功能,需要6个请求。需要相应6个Action方法,每个Action方法处理一个请求。  

功能 方法名 返回值 结果页面
列表(查询) list() list list.jsp
删除 delete() toList list.jsp
添加 add() toList list.jsp
添加页面 addUI() addUI addUI.jsp
修改 edit() toList list.jsp
修改页面 editUI() editUI editUI.jsp

 

  根据上表的分析,我们定制实现功能的步骤,然后根据步骤去一一实现,以下为步骤:

    1).写Action类,写类中方法,实现方法,确定Service中的方法。

    写相应的Action方法。我们先写一个RoleAction.java,然后在里面写相应的Action方法,具体内容如下:   

    bubuko.com,布布扣
 1 package cn.clear.oa.view.action;
 2 
 3 import java.util.List;
 4 
 5 import javax.annotation.Resource;
 6 
 7 import org.springframework.context.annotation.Scope;
 8 import org.springframework.stereotype.Controller;
 9 
10 import cn.clear.oa.domain.Role;
11 import cn.clear.oa.service.RoleService;
12 
13 import com.opensymphony.xwork2.ActionContext;
14 import com.opensymphony.xwork2.ActionSupport;
15 
16 @Controller
17 @Scope("prototype")
18 public class RoleAction extends ActionSupport{
19     
20     @Resource
21     private RoleService roleService;
22     
23     private Long id;
24     private String name;
25     private String description;
26     /**显示列表*/
27     public String list() throws Exception {
28         List<Role> roleList = roleService.findAll();
29         ActionContext.getContext().put("roleList", roleList);
30         return "list";
31     }
32     /**添加页面*/
33     public String addUI() throws Exception {
34         
35         return "addUI";
36     }
37     /**添加*/
38     public String add() throws Exception {
39         //封装数据到对象
40         Role role = new Role();
41         role.setName(name);
42         role.setDescription(description);
43         //将对象保存到数据库
44         roleService.save(role);
45         return "toList";
46     }
47     /**修改页面*/
48     public String editUI() throws Exception {
49         //准备回显数据
50         Role role = roleService.findById(id);
51         //将对象的值放在栈顶
52         ActionContext.getContext().getValueStack().push(role);
53         return "editUI";
54     }
55     /**修改*/
56     public String edit() throws Exception {
57         //拿到准备好修改的对象
58         Role role = roleService.findById(id);
59         //设置要修改的属性
60         role.setName(name);
61         role.setDescription(description);
62         //将对象持久化到数据库
63         roleService.update(role);
64         return "toList";
65     }
66     /**删除*/
67     public String delete() throws Exception {
68         roleService.delete(id);
69         return "toList";
70     }
71     //----
72     public Long getId() {
73         return id;
74     }
75     public void setId(Long id) {
76         this.id = id;
77     }
78     public String getName() {
79         return name;
80     }
81     public void setName(String name) {
82         this.name = name;
83     }
84     public String getDescription() {
85         return description;
86     }
87     public void setDescription(String description) {
88         this.description = description;
89     }
90      
91     
92 }
RoleAction.java

    2).写Service类,并写相应方法。确定Dao中的方法。

    RoleService.java    

    bubuko.com,布布扣
 1 package cn.clear.oa.service;
 2 
 3 import java.util.List;
 4 
 5 import cn.clear.oa.domain.Role;
 6 
 7 public interface RoleService {
 8 
 9     List<Role> findAll();
10 
11     void delete(Long id);
12 
13     void save(Role role);
14 
15     Role findById(Long id);
16 
17     void update(Role role);
18 
19 }
RoleService.java

    RoleServiceImpl.java

    bubuko.com,布布扣
 1 package cn.clear.oa.service.impl;
 2 
 3 import java.util.List;
 4 
 5 import javax.annotation.Resource;
 6 
 7 import org.springframework.stereotype.Service;
 8 import org.springframework.transaction.annotation.Transactional;
 9 
10 import cn.clear.oa.dao.RoleDao;
11 import cn.clear.oa.domain.Role;
12 import cn.clear.oa.service.RoleService;
13 @Service
14 @Transactional
15 public class RoleServiceImpl implements RoleService{
16     @Resource
17     private RoleDao roleDao;
18 
19     public List<Role> findAll() {
20         
21         return roleDao.findAll();
22     }
23 
24     public void delete(Long id) {
25         
26         roleDao.delete(id);
27     }
28 
29     public void save(Role role) {
30         
31         roleDao.save(role);
32     }
33 
34     public Role findById(Long id) {    
35         return roleDao.findById(id);
36     }
37 
38     public void update(Role role) {
39         
40         roleDao.update(role);
41     }
42 
43 }
RoleServiceImpl.java

    3).写相应的Dao类,并写相应方法,实现。(之前我们已经整合了dao层的代码,所以现在所用方法就比较简洁了)

    RoleDao.java

    bubuko.com,布布扣
1 package cn.clear.oa.dao;
2 
3 import cn.clear.oa.base.BaseDao;
4 import cn.clear.oa.domain.Role;
5 
6 public interface RoleDao extends BaseDao<Role>{
7 
8 }
RoleDao.java

    RoleDaoImpl.java

    bubuko.com,布布扣
 1 package cn.clear.oa.dao.impl;
 2 
 3 import org.springframework.stereotype.Repository;
 4 
 5 import cn.clear.oa.base.BaseDaoImpl;
 6 import cn.clear.oa.dao.RoleDao;
 7 import cn.clear.oa.domain.Role;
 8 @Repository
 9 public class RoleDaoImpl extends BaseDaoImpl<Role> implements RoleDao{
10 
11 }
RoleDaoImpl.java

    4).根据结果数据写相应的jsp。

    list.jsp

    bubuko.com,布布扣
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%> 
 3 
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6   <head>
 7    
 8     <title>岗位列表</title>
 9   </head>
10   
11   <body>
12     <s:iterator value="#roleList">
13         <s:property value="id"/>,
14         <s:property value="name"/>,
15         <s:property value="description"/>,
16         <s:a action="role_editUI?id=%{id}">修改</s:a>;
17         <s:a action="role_delete?id=%{id}" onclick="return confirm(‘确定删除吗?‘)">删除</s:a>
18         <br>
19     </s:iterator>
20     <s:a action="role_addUI">新建</s:a>
21   </body>
22 </html>
list.jsp

    addUI.jsp

    bubuko.com,布布扣
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%>
 3 
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6   <head>
 7    
 8     <title>添加页面</title>
 9   </head>
10   
11   <body>
12     <s:form action="role_add">
13         岗位名称:<s:textfield name="name"></s:textfield><br>
14         岗位说明:<s:textarea name="description"></s:textarea><br>
15         <s:submit value="提交"></s:submit>
16     </s:form>
17   </body>
18 </html>
addUI.jsp

    editUI.jsp   

    bubuko.com,布布扣
 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%>
 3 
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6   <head>
 7    
 8     <title>修改页面</title>
 9   </head>
10   
11   <body>
12     <s:form action="role_edit">
13         <s:hidden name="id"></s:hidden>
14         岗位名称:<s:textfield name="name"></s:textfield><br>
15         岗位说明:<s:textarea name="description"></s:textarea><br>
16         <s:submit value="提交"></s:submit>
17     </s:form>
18   </body>
19 </html>
editUI.jsp

  启动服务器,可以试试各个功能请求效果。至此,我们就完成了这个岗位管理的全部功能代码了。  

 

OA项目5:系统管理之岗位管理

标签:des   style   blog   http   color   io   os   ar   使用   

原文地址:http://www.cnblogs.com/clear5/p/4037593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!