20170319_系统管理_部门管理1

系统管理_部门管理:

 |-增删改查

 

 |-页面效果显示

=====================================================================

架子搭建:

1、创建action

 

 

2、struts.xml,注意替换的是选中区域中role.

 

3、页面

 

4、第3步中的departmentAction,spring中没有,要添加注解。

 

5、创建service层

 

6、注入service

注意:注入的是service 而不是serviceImpl。

 

7、service层添加注解和事务

 

 

8、创建dao

 

=====================================================================

功能实现:

1、action

 

2、service

 

 3、serviceImpl

 

4、jsp页面 

(1)删除不用的链接

(2)路径替换

(3)列表:修改循环

   添加:修改表单

   修改:修改与添加页面相似 及 隐藏字段

列表: 

 

添加: 

 

修改: 

 

=====================================================================

 1 package cn.itcast.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.itcast.oa.domain.Department;
11 import cn.itcast.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     
24     private Department model = new Department();
25     
26     public Department getModel() {
27         return model;
28     }
29     
30     /** 列表 */
31     public String list() throws Exception {
32         List<Department> departmentList = departmentService.findAll();
33         ActionContext.getContext().put("departmentList", departmentList);
34         return "list";
35     }
36     
37     /** 删除 */
38     public String delete() throws Exception {
39         departmentService.delete(model.getId());
40         return "toList";
41     }
42     
43     /** 添加 */
44     public String addUI() throws Exception {    
45         return "addUI";
46     }
47     
48     /** 添加页面 */
49     public String add() throws Exception {
50         //1.新建对象并封装属性,也可用model
51         //2.保存到数据库中
52         departmentService.save(model);        
53         return "toList";
54     }
55     
56     /** 修改页面 */
57     public String editUI() throws Exception {
58         //准备回显的信息
59         Department department = departmentService.getById(model.getId());
60         ActionContext.getContext().getValueStack().push(department);
61         return "editUI";
62     }
63     
64     /** 修改 */
65     public String edit() throws Exception {
66         //1.从数据库中取出原对象
67         Department department = departmentService.getById(model.getId());
68         
69         //2.设置修改的属性
70         department.setName(model.getName());
71         department.setDescription(model.getDescription());
72         
73         //3.更新到数据库
74         departmentService.update(department);
75         return "toList";
76     }
77 }
DepartmentAction
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%><html>
 3 <head>
 4     <title>部门列表</title>
 5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6     <script language="javascript" src="${pageContext.request.contextPath}/script/jquery.js"></script>
 7     <script language="javascript" src="${pageContext.request.contextPath}/script/pageCommon.js" charset="utf-8"></script>
 8     <script language="javascript" src="${pageContext.request.contextPath}/script/PageUtils.js" charset="utf-8"></script>
 9     <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/style/blue/pageCommon.css" />
10     <script type="text/javascript">
11     </script>
12 </head>
13 <body>
14  
15 <div id="Title_bar">
16     <div id="Title_bar_Head">
17         <div id="Title_Head"></div>
18         <div id="Title"><!--页面标题-->
19             <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif"/> 部门管理
20         </div>
21         <div id="Title_End"></div>
22     </div>
23 </div>
24 
25 <div id="MainArea">
26     <table cellspacing="0" cellpadding="0" class="TableStyle">
27        
28         <!-- 表头-->
29         <thead>
30             <tr align=center valign=middle id=TableTitle>
31                 <td width="150px">部门名称</td>
32                 <td width="150px">上级部门名称</td>
33                 <td width="200px">职能说明</td>
34                 <td>相关操作</td>
35             </tr>
36         </thead>
37 
38         <!--显示数据列表-->
39         <tbody id="TableData" class="dataContainer" datakey="departmentList">
40             <s:iterator value="#departmentList">
41             <tr class="TableDetail1 template">
42                 <td>${name}&nbsp;</td>
43                 <td>${parent.name}&nbsp;</td>
44                 <td>${description}&nbsp;</td>
45                 <td><s:a action="departmentAction_delete?id=%{id}" onclick="return window.confirm('这将删除所有的下级部门,您确定要删除吗?')" >删除</s:a>
46                     <s:a action="departmentAction_editUI?id=%{id}">修改</s:a>
47                 </td>
48             </tr>
49             </s:iterator>
50         </tbody>
51     </table>
52     
53     <!-- 其他功能超链接 -->
54     <div id="TableTail">
55         <div id="TableTail_inside">
56            <s:a action="departmentAction_addUI?id=%{id}"><img src="${pageContext.request.contextPath}/style/images/createNew.png" /></s:a>
57         </div>
58     </div>
59 </div>
60 
61 <!--说明-->    
62 <div id="Description"> 
63     说明:<br />
64     1,列表页面只显示一层的(同级的)部门数据,默认显示最顶级的部门列表。<br />
65     2,点击部门名称,可以查看此部门相应的下级部门列表。<br />
66     3,删除部门时,同时删除此部门的所有下级部门。
67 </div>
68 
69 </body>
70 </html>
list.jsp
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags" %>
 3 <html>
 4 <head>
 5     <title>部门设置</title>
 6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 7     <script language="javascript" src="${pageContext.request.contextPath}/script/jquery.js"></script>
 8     <script language="javascript" src="${pageContext.request.contextPath}/script/pageCommon.js" charset="utf-8"></script>
 9     <script language="javascript" src="${pageContext.request.contextPath}/script/PageUtils.js" charset="utf-8"></script>
10     <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/style/blue/pageCommon.css" />
11 </head>
12 <body>
13 
14 <!-- 标题显示 --> 
15 <div id="Title_bar">
16     <div id="Title_bar_Head">
17         <div id="Title_Head"></div>
18         <div id="Title"><!--页面标题-->
19             <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif"/> 部门信息
20         </div>
21         <div id="Title_End"></div>
22     </div>
23 </div>
24 
25 <!--显示表单内容-->
26 <div id=MainArea>
27     <s:form action="departmentAction_add">
28         <div class="ItemBlock_Title1"><!-- 信息说明<DIV CLASS="ItemBlock_Title1">
29             <IMG BORDER="0" WIDTH="4" HEIGHT="7" SRC="${pageContext.request.contextPath}/style/blue/images/item_point.gif" /> 部门信息 </DIV>  -->
30         </div>
31         
32         <!-- 表单内容显示 -->
33         <div class="ItemBlockBorder">
34             <div class="ItemBlock">
35                 <table cellpadding="0" cellspacing="0" class="mainForm">
36                     <tr><td width="100">上级部门</td>
37                         <td><select name="parentId" class="SelectStyle">
38                                 <option value="0" selected="selected">请选择部门</option>
39                                 <option value="7">┠总经理室</option>
40                                 <option value="1">┠市场部</option>
41                                 <option value="2"> ┠咨询部</option>
42                                 <option value="3"> ┠招生部</option>
43                                 <option value="4">┠教学部</option>
44                                 <option value="5">┠后勤部</option>
45                             </select>
46                         </td>
47                     </tr>
48                     <tr><td>部门名称</td>
49                         <td><s:textfield type="text" name="name" cssClass="InputStyle"/> *</td>
50                     </tr>
51                     <tr><td>职能说明</td>
52                         <td><s:textarea name="description" cssClass="TextareaStyle"></s:textarea></td>
53                     </tr>
54                 </table>
55             </div>
56         </div>
57         
58         <!-- 表单操作 -->
59         <div id="InputDetailBar">
60             <input type="image" src="${pageContext.request.contextPath}/style/images/save.png"/>
61             <a href="javascript:history.go(-1);"><img src="${pageContext.request.contextPath}/style/images/goBack.png"/></a>
62         </div>
63     </s:form>
64 </div>
65 
66 <div class="Description">
67     说明:<br />
68     1,上级部门的列表是有层次结构的(树形)。<br/>
69     2,如果是修改:上级部门列表中不能显示当前修改的部门及其子孙部门。因为不能选择自已或自已的子部门作为上级部门。<br />
70 </div>
71 
72 </body>
73 </html>
addUI.jsp
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags" %>
 3 <html>
 4 <head>
 5     <title>部门设置</title>
 6     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 7     <script language="javascript" src="${pageContext.request.contextPath}/script/jquery.js"></script>
 8     <script language="javascript" src="${pageContext.request.contextPath}/script/pageCommon.js" charset="utf-8"></script>
 9     <script language="javascript" src="${pageContext.request.contextPath}/script/PageUtils.js" charset="utf-8"></script>
10     <link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/style/blue/pageCommon.css" />
11 </head>
12 <body>
13 
14 <!-- 标题显示 --> 
15 <div id="Title_bar">
16     <div id="Title_bar_Head">
17         <div id="Title_Head"></div>
18         <div id="Title"><!--页面标题-->
19             <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif"/> 部门信息
20         </div>
21         <div id="Title_End"></div>
22     </div>
23 </div>
24 
25 <!--显示表单内容-->
26 <div id=MainArea>
27     <s:form action="departmentAction_edit">
28     <s:hidden name="id"></s:hidden>
29         <div class="ItemBlock_Title1"><!-- 信息说明<DIV CLASS="ItemBlock_Title1">
30             <IMG BORDER="0" WIDTH="4" HEIGHT="7" SRC="${pageContext.request.contextPath}/style/blue/images/item_point.gif" /> 部门信息 </DIV>  -->
31         </div>
32         
33         <!-- 表单内容显示 -->
34         <div class="ItemBlockBorder">
35             <div class="ItemBlock">
36                 <table cellpadding="0" cellspacing="0" class="mainForm">
37                     <tr><td width="100">上级部门</td>
38                         <td><select name="parentId" class="SelectStyle">
39                                 <option value="0" selected="selected">请选择部门</option>
40                                 <option value="7">┠总经理室</option>
41                                 <option value="1">┠市场部</option>
42                                 <option value="2"> ┠咨询部</option>
43                                 <option value="3"> ┠招生部</option>
44                                 <option value="4">┠教学部</option>
45                                 <option value="5">┠后勤部</option>
46                             </select>
47                         </td>
48                     </tr>
49                     <tr><td>部门名称</td>
50                         <td><s:textfield type="text" name="name" cssClass="InputStyle"/> *</td>
51                     </tr>
52                     <tr><td>职能说明</td>
53                         <td><s:textarea name="description" cssClass="TextareaStyle"></s:textarea></td>
54                     </tr>
55                 </table>
56             </div>
57         </div>
58         
59         <!-- 表单操作 -->
60         <div id="InputDetailBar">
61             <input type="image" src="${pageContext.request.contextPath}/style/images/save.png"/>
62             <a href="javascript:history.go(-1);"><img src="${pageContext.request.contextPath}/style/images/goBack.png"/></a>
63         </div>
64     </s:form>
65 </div>
66 
67 <div class="Description">
68     说明:<br />
69     1,上级部门的列表是有层次结构的(树形)。<br/>
70     2,如果是修改:上级部门列表中不能显示当前修改的部门及其子孙部门。因为不能选择自已或自已的子部门作为上级部门。<br />
71 </div>
72 
73 </body>
74 </html>
editUI.jsp

  

 1 package cn.itcast.oa.service;
 2 
 3 import java.util.List;
 4 
 5 import cn.itcast.oa.domain.Department;
 6 
 7 public interface DepartmentService {
 8 
 9     Department getById(Long id);
10 
11     void delete(Long id);
12 
13     List<Department> findAll();
14 
15     void save(Department model);
16 
17     void update(Department department);
18 
19 }
DepartmentService
 1 package cn.itcast.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.itcast.oa.dao.DepartmentDao;
11 import cn.itcast.oa.domain.Department;
12 import cn.itcast.oa.service.DepartmentService;
13 
14 @Service
15 @Transactional
16 public class DepartmentServiceImpl implements DepartmentService{
17 
18     @Resource
19     private DepartmentDao departmentDao;
20 
21     public Department getById(Long id) {        
22         return departmentDao.getById(id);
23     }
24 
25     public void delete(Long id) {
26         departmentDao.delete(id);        
27     }
28 
29     public List<Department> findAll() {
30         return departmentDao.findAll();
31     }
32 
33     public void save(Department department) {
34         departmentDao.save(department);
35     }
36 
37     public void update(Department department) {
38         departmentDao.update(department);
39     }
40 }
DepartmentServiceImpl
1 package cn.itcast.oa.dao;
2 
3 import cn.itcast.oa.base.BaseDao;
4 import cn.itcast.oa.domain.Department;
5 
6 public interface DepartmentDao extends BaseDao<Department>{
7 
8 }
DepartmentDao
 1 package cn.itcast.oa.dao.impl;
 2 
 3 import org.springframework.stereotype.Repository;
 4 
 5 import cn.itcast.oa.base.BaseDaoImpl;
 6 import cn.itcast.oa.dao.DepartmentDao;
 7 import cn.itcast.oa.domain.Department;
 8 
 9 @Repository
10 public class DepartmentDaoImpl extends BaseDaoImpl<Department> implements DepartmentDao{
11 
12 }
DepartmentDaoImpl

 

 系统管理_部门管理1  END!!!

 

posted @ 2017-03-19 21:29  壹毫米的距离  阅读(169)  评论(0编辑  收藏  举报