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

OA项目7:系统管理之部门管理

时间:2014-10-21 17:14:28      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   java   

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

 

一 根据需求,根据前台页面功能设计实体,创建javabean。Department.java,内容如下(先不处理上下级部门):

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

二 根据实体创建映射文件Department.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="Department" table="oa_department">
 8         <id name="id"><generator class="native"/></id>
 9         <property name="name"/>
10         <property name="description"/>
11     </class>
12 </hibernate-mapping>
Department.hbm.xml

三 在hibernate.cfg.xml中配置映射文件,内容为:

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

四 分析功能及有几个请求:(详情见OA项目5文章中对增删改查的分析及列表,以后增删改查就采用那套模板)

五 建立DepartmentAction.java,内容如下:

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.Department;
11 import cn.clear.oa.service.DepartmentService;
12 
13 import com.opensymphony.xwork2.ActionContext;
14 import com.opensymphony.xwork2.ActionSupport;
15 import com.opensymphony.xwork2.ModelDriven;
16 
17 @Controller
18 @Scope("prototype")
19 public class DepartmentAction extends ActionSupport implements ModelDriven<Department>{
20 
21     @Resource
22     private DepartmentService departmentService; 
23     private Department model = new Department();
24     
25     public Department getModel() {
26         // TODO Auto-generated method stub
27         return model;
28     }
29     
30 
31     public String list() throws Exception {
32         
33         List<Department> departmentList = departmentService.findAll();
34         ActionContext.getContext().put("departmentList", departmentList);
35         return "list";
36     }
37     public String delete() throws Exception {
38         
39         departmentService.delete(model.getId());
40         
41         return "toList";
42     }
43     public String add() throws Exception {
44         departmentService.save(model);
45         return "toList";
46     }
47     public String addUI() throws Exception {
48         
49         return "saveUI";
50     }
51     public String edit() throws Exception {
52         
53         Department department = departmentService.findById(model.getId());
54         department.setName(model.getName());
55         department.setDescription(model.getDescription());
56         departmentService.update(department);
57         return "toList";
58     }
59     public String editUI() throws Exception {
60         
61         Department department = departmentService.findById(model.getId());
62         //将对象放在栈顶
63         ActionContext.getContext().getValueStack().push(department);
64         
65         return "saveUI";
66     }
67 
68 }
DepartmentAction.java

根据action添加struts.xml的action,具体如下:

bubuko.com,布布扣
1 <!-- 部门管理 -->
2         <action name="department_*" class="departmentAction" method="{1}">
3             <result name="list">/WEB-INF/jsp/departmentAction/list.jsp</result>
4             <!-- 类型为重定向 -->
5             <result name="toList" type="redirectAction">department_list</result>
6             <result name="saveUI">/WEB-INF/jsp/departmentAction/saveUI.jsp</result>
7         </action>
struts.xml片段

六 建立DepartmentService.javaDepartmentServiceImpl.java:

bubuko.com,布布扣
 1 package cn.clear.oa.service;
 2 
 3 import java.util.List;
 4 
 5 import cn.clear.oa.domain.Department;
 6 
 7 public interface DepartmentService {
 8 
 9     List<Department> findAll();
10 
11     void delete(Long id);
12 
13     void save(Department department);
14 
15     Department findById(Long id);
16 
17     void update(Department department);
18 
19 }
DepartmentService.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.DepartmentDao;
11 import cn.clear.oa.domain.Department;
12 import cn.clear.oa.service.DepartmentService;
13 @Service
14 @Transactional
15 public class DepartmentServiceImpl implements DepartmentService{
16     
17     @Resource
18     private DepartmentDao departmentDao;
19 
20     public List<Department> findAll() {
21 
22         return departmentDao.findAll();
23     }
24 
25     public void delete(Long id) {
26         
27         departmentDao.delete(id);
28         
29     }
30 
31     public void save(Department department) {
32         
33         departmentDao.save(department);
34     }
35 
36     public Department findById(Long id) {
37 
38         return departmentDao.findById(id);
39     }
40 
41     public void update(Department department) {
42         
43         departmentDao.update(department);
44     }
45 
46 }
DepartmentServiceImpl.java

七 建立DepartmentDao.java与DepartmentDaoImpl.java:

bubuko.com,布布扣
1 package cn.clear.oa.dao;
2 
3 import cn.clear.oa.base.BaseDao;
4 import cn.clear.oa.domain.Department;
5 
6 public interface DepartmentDao extends BaseDao<Department>{
7 
8 }
DepartmentDao.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.DepartmentDao;
 7 import cn.clear.oa.domain.Department;
 8 
 9 @Repository
10 public class DepartmentDaoImpl extends BaseDaoImpl<Department> implements DepartmentDao {
11 
12 }
DepartmentDaoImpl.java

八 建立前台列表页面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     <title>部门列表</title>
 8     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 9     <script language="javascript" src="${pageContext.request.contextPath}/script/jquery.js"></script>
10     <script language="javascript" src="${pageContext.request.contextPath}/script/pageCommon.js" charset="utf-8"></script>
11     <script language="javascript" src="${pageContext.request.contextPath}/script/PageUtils.js" charset="utf-8"></script>
12     <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/style/blue/pageCommon.css" />
13     <script type="text/javascript">
14     </script>
15 </head>
16 <body>
17  
18 <div id="Title_bar">
19     <div id="Title_bar_Head">
20         <div id="Title_Head"></div>
21         <div id="Title"><!--页面标题-->
22             <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif"/> 部门管理
23         </div>
24         <div id="Title_End"></div>
25     </div>
26 </div>
27 
28 <div id="MainArea">
29     <table cellspacing="0" cellpadding="0" class="TableStyle">
30        
31         <!-- 表头-->
32         <thead>
33             <tr align=center valign=middle id=TableTitle>
34                 <td width="150px">部门名称</td>
35                 <td width="150px">上级部门名称</td>
36                 <td width="200px">职能说明</td>
37                 <td>相关操作</td>
38             </tr>
39         </thead>
40 
41         <!--显示数据列表-->
42         <tbody id="TableData" class="dataContainer" datakey="departmentList">
43             <s:iterator value="#departmentList">
44             <tr class="TableDetail1 template">
45                 <td><a href="_list_level2.html">${name}</a>&nbsp;</td>
46                 <td>${name}&nbsp;</td>
47                 <td>${description}&nbsp;</td>
48                 <td><s:a onClick="return window.confirm(‘这将删除所有的下级部门,您确定要删除吗?‘)" action="department_delete?id=%{id}">删除</s:a>
49                     <s:a action="department_editUI?id=%{id}">修改</s:a>
50                 </td>
51             </tr>
52             </s:iterator>
53         </tbody>
54     </table>
55     
56     <!-- 其他功能超链接 -->
57     <div id="TableTail">
58         <div id="TableTail_inside">
59             <s:a action="department_addUI"><img src="${pageContext.request.contextPath}/style/images/createNew.png" /></s:a>
60         </div>
61     </div>
62 </div>
63 
64 <!--说明-->    
65 <div id="Description"> 
66     说明:<br />
67     1,列表页面只显示一层的(同级的)部门数据,默认显示最顶级的部门列表。<br />
68     2,点击部门名称,可以查看此部门相应的下级部门列表。<br />
69     3,删除部门时,同时删除此部门的所有下级部门。
70 </div>
71 
72 </body>
73 </html>
list.jsp

九 建立前台保存页面saveUI.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 
 6 <html>
 7 <head>
 8     <title>部门设置</title>
 9     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10     <script language="javascript" src="${pageContext.request.contextPath}/script/jquery.js"></script>
11     <script language="javascript" src="${pageContext.request.contextPath}/script/pageCommon.js" charset="utf-8"></script>
12     <script language="javascript" src="${pageContext.request.contextPath}/script/PageUtils.js" charset="utf-8"></script>
13     <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/style/blue/pageCommon.css" />
14 </head>
15 <body>
16 
17 <!-- 标题显示 --> 
18 <div id="Title_bar">
19     <div id="Title_bar_Head">
20         <div id="Title_Head"></div>
21         <div id="Title"><!--页面标题-->
22             <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif"/> 部门信息
23         </div>
24         <div id="Title_End"></div>
25     </div>
26 </div>
27 
28 <!--显示表单内容-->
29 <div id=MainArea>
30     <s:form action="department_%{id == null ? ‘add‘:‘edit‘}">
31         <div class="ItemBlock_Title1"><!-- 信息说明<DIV CLASS="ItemBlock_Title1">
32             <IMG BORDER="0" WIDTH="4" HEIGHT="7" SRC="${pageContext.request.contextPath}/style/blue/images/item_point.gif" /> 部门信息 </DIV>  -->
33         </div>
34         <s:hidden name="id"></s:hidden>
35         <!-- 表单内容显示 -->
36         <div class="ItemBlockBorder">
37             <div class="ItemBlock">
38                 <table cellpadding="0" cellspacing="0" class="mainForm">
39                     <tr><td width="100">上级部门</td>
40                         <td><select name="parentId" class="SelectStyle">
41                                 <option value="0" selected="selected">请选择部门</option>
42                                 <option value="7">┠总经理室</option>
43                                 <option value="1">┠市场部</option>
44                                 <option value="2"> ┠咨询部</option>
45                                 <option value="3"> ┠招生部</option>
46                                 <option value="4">┠教学部</option>
47                                 <option value="5">┠后勤部</option>
48                             </select>
49                         </td>
50                     </tr>
51                     <tr><td>部门名称</td>
52                         <td><s:textfield name="name" cssClass="InputStyle"/> *</td>
53                     </tr>
54                     <tr><td>职能说明</td>
55                         <td><s:textarea name="description" cssClass="TextareaStyle"></s:textarea></td>
56                     </tr>
57                 </table>
58             </div>
59         </div>
60         
61         <!-- 表单操作 -->
62         <div id="InputDetailBar">
63             <input type="image" src="${pageContext.request.contextPath}/style/images/save.png"/>
64             <a href="javascript:history.go(-1);"><img src="${pageContext.request.contextPath}/style/images/goBack.png"/></a>
65         </div>
66     </s:form>
67 </div>
68 
69 <div class="Description">
70     说明:<br />
71     1,上级部门的列表是有层次结构的(树形)。<br/>
72     2,如果是修改:上级部门列表中不能显示当前修改的部门及其子孙部门。因为不能选择自已或自已的子部门作为上级部门。<br />
73 </div>
74 
75 </body>
76 </html>
saveUI.jsp

最后启动服务器,对增删改查功能逐个测试,完成部门功能的基础功能。

 

OA项目7:系统管理之部门管理

标签:des   style   blog   http   color   io   os   ar   java   

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

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