20170318_系统管理_岗位管理_增删改查2

岗位管理_实现显示、删除、添加、修改

 

|-分析通用增删改查功能及命名规范

 

|-岗位管理----显示、删除

    |-第一步:岗位管理空架action的搭建

        |-第一段:action准备 和 struts.xml中配置 和 空jsp页面

        |-第二段:service 准备

    |-第二步:填写action中的方法内容 和 jsp页面内容 并完成测试   

 

ps: 链接使用<s:a>自定义标签

ps:对象栈

  

|-岗位管理----添加、修改 

步骤:action(得到参数封装成对象,并保存到数据库中)-->RoleService-->RoleServiceImpl(调用roleDao.save(role);)

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

 

 1 /** 列表 */
 2     public String list() throws Exception {
 3         return "list";
 4     }
 5 
 6     /** 删除 */
 7     public String delete() throws Exception {
 8         return "toList";
 9     }
10 
11     /** 添加页面 */
12     public String addUI() throws Exception {
13         return "addUI";
14     }
15 
16     /** 添加 */
17     public String add() throws Exception {
18 
19         return "toList";
20     }
21 
22     /** 修改页面 */
23     public String editUI() throws Exception {
24 
25         return "editUI";
26     }
27 
28     /** 修改 */
29     public String edit() throws Exception {
30         return "toList";
31     }

 

 

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

岗位管理----显示、删除

 

第一步:岗位管理空架搭建

第一段:action准备

RoleAction中的方法 、 struts.xml中配置<!-- 岗位管理 -->  、jsp页面(空)

注意:继承ActionSupport,添加@Controller、 @Scope("prototype")注解

 

第二段:service 准备

 

 空架三层action、service、dao层搭建完成

 

第二步:填写action中的方法内容 和 jsp页面内容

action做一半:准备数据

页面做一半:显示数据

加在一起等于结果。

 

 

 添加删除方法的内容:

 

 ps:值栈中有:对象栈 + Map

 

list.jsp页面:

 

 

改进显示:

 

添加删除提醒:

 

数据库添加信息:

 测试结果:

 

  

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

岗位管理----添加、修改

 

添加:jsp页面-->action(得到参数封装成对象,并保存到数据库中)-->RoleService-->RoleServiceImpl(调用roleDao.save(role);)

 重启服务器:

测试:

 

修改:

使用this.role = role.getName();和this.discription = role.getDescription();将这两个属性放到对象栈的栈顶,就可以自动回显。

 

测试修改:

 系统管理_岗位管理的增删改查 END!!!

 

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

岗位管理功能改:

栈顶放一个对象,取对象就是官方提供的一种方式即:ModelDriven

 

  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.Role;
 11 import cn.itcast.oa.service.RoleService;
 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 RoleAction extends ActionSupport implements ModelDriven<Role> {
 20 
 21     @Resource
 22     private RoleService roleService;
 23 
 24     // private Long id;
 25     // private String name;
 26     // private String description;
 27 
 28     private Role model = new Role();
 29 
 30     public Role getModel() {
 31         return model;
 32     }
 33 
 34     /** 列表 */
 35     public String list() throws Exception {
 36         List<Role> roleList = roleService.findAll();
 37         ActionContext.getContext().put("roleList", roleList); //放到map中
 38         return "list";
 39     }
 40 
 41     /** 删除 */
 42     public String delete() throws Exception {
 43         //roleService.delete(id);
 44         
 45         //--------------------------------------
 46         
 47         roleService.delete(model.getId());
 48         return "toList";
 49     }
 50 
 51     /** 添加页面 */
 52     public String addUI() throws Exception {
 53         return "addUI";
 54     }
 55 
 56     /** 添加 */
 57     public String add() throws Exception {
 58         // 得到参数,封装成对象,当使用实体作为Model时,也可以直接使用model
 59         // Role role = new Role();
 60         // role.setName(name);
 61         // role.setDescription(description);
 62         // roleService.save(role);
 63 
 64         // 保存到数据库中
 65         // roleService.save(role);
 66         
 67         //------------------------------------------
 68         
 69         roleService.save(model);
 70         return "toList";
 71     }
 72 
 73     /** 修改页面 */
 74     public String editUI() throws Exception {
 75         // Role role = roleService.getById(id);
 76         // this.name = role.getName();
 77         // this.description = role.getDescription();
 78 
 79         // ----------------------------------------
 80         
 81         Role role = roleService.getById(model.getId());
 82         ActionContext.getContext().getValueStack().push(role); // 放到栈顶
 83         return "editUI";
 84     }
 85 
 86     /** 修改 */
 87     public String edit() throws Exception {
 88         // 从数据库中取出原对象
 89         // Role role = roleService.getById(id);
 90 
 91         // // 设置要修改的属性
 92         // role.setName(name);
 93         // role.setDescription(description);
 94 
 95         // 更新到数据库
 96         // roleService.update(role);
 97 
 98         // --------------------------------
 99 
100         // 从数据库中取出原对象
101         Role role = roleService.getById(model.getId());
102         role.setName(model.getName());
103         role.setDescription(model.getDescription());
104 
105         // 更新到数据库
106         roleService.update(role);
107         return "toList";
108     }
109 
110     // ---------------------------------
111 
112 }
RoleAction
 1 package cn.itcast.oa.service;
 2 
 3 import java.util.List;
 4 
 5 import cn.itcast.oa.domain.Role;
 6 
 7 
 8 
 9 public interface RoleService {
10 
11     /**
12      * 查询所有岗位
13      * 
14      * @return
15      */
16     List<Role> findAll();
17 
18     /**
19      * 删除一个岗位信息
20      * 
21      * @param id
22      */
23     void delete(Long id);
24 
25     /**
26      * 添加一个岗位信息
27      * 
28      * @param role
29      */
30     void save(Role role);
31 
32     
33     /**
34      * 得到一个岗位信息
35      * 
36      * @param role
37      */
38     Role getById(Long id);
39 
40     
41     /**
42      * 修改一个岗位信息
43      * 
44      * @param role
45      */
46     void update(Role role);
47 
48 }
RoleService
 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.RoleDao;
11 import cn.itcast.oa.domain.Role;
12 import cn.itcast.oa.service.RoleService;
13 
14 @Service
15 @Transactional
16 public class RoleServiceImpl implements RoleService {
17 
18     @Resource
19     private RoleDao roleDao;
20 
21     public List<Role> findAll() {
22         return roleDao.findAll();
23     }
24 
25     public void delete(Long id) {
26         roleDao.delete(id);
27     }
28 
29     public void save(Role role) {
30         roleDao.save(role);
31         
32     }
33 
34     public Role getById(Long id) {
35         return roleDao.getById(id);
36     }
37 
38     public void update(Role role) {
39         roleDao.update(role);
40         
41     }
42 
43     
44 }
RoleServiceImpl

 

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags"%>
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5 <head>
 6 <title>My JSP 'index.jsp' starting page</title>
 7 </head>
 8 
 9 <body>
10     <%--
11         <s:iterator value="#roleList">
12             <s:property value="id"/>,
13             <s:property value="name"/>,
14             <s:property value="description" />,
15             <a href="roleAction_delete.action?id=<s:property value='id'/>" onclick="return confirm('确定要删除吗?')">删除</a><br>
16         </s:iterator>
17          --%>
18 
19     <s:iterator value="#roleList">
20             ${id},
21             ${name},
22             ${description},        
23         
24             <%-- 
25             <a href="roleAction_delete.action?id=${id}" onclick="return confirm('确定要删除吗?')">删除</a>
26             --%>
27             
28             <%-- 
29             <s:a action="roleAction_delete">
30                 <s:param name="id" value="%{id}"/>删除
31             </s:a>
32             --%>
33             
34         <s:a action="roleAction_delete?id=%{id}" onclick="return confirm('确定要删除吗?')">删除</s:a>
35         <s:a action="roleAction_editUI?id=%{id}">修改</s:a><br>
36     </s:iterator>
37     
38     <s:a action="roleAction_addUI">添加</s:a>
39 
40     <br>
41 </body>
42 </html>
list.jsp
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags" %>
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5   <head>
 6     <title>My JSP 'index.jsp' starting page</title>
 7   </head>
 8   
 9   <body>
10    
11            <s:form action="roleAction_add">
12                <s:textfield name="name" label="名称"/>
13                <s:textarea name="description" label="说明"/>
14                <s:submit value="提交"/>
15            </s:form>
16    
17   </body>
18 </html>
addUI.jsp
 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 2 <%@ taglib prefix="s" uri="/struts-tags" %>
 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 4 <html>
 5   <head>
 6     <title>My JSP 'index.jsp' starting page</title>
 7   </head>
 8   
 9   <body>
10    
11            <s:form action="roleAction_edit">
12                <s:hidden name="id"/>
13                <s:textfield name="name" label="名称"/>
14                <s:textarea name="description" label="说明"/>
15                <s:submit value="提交"/>
16            </s:form>
17    
18   </body>
19 </html>
editUI.jsp

 

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

 岗位管理效果修改:

 

显示效果:

 

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

 新建页面效果:

 

 

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

修改:与addUI.jsp共用一个代码,只是表单提交数据的位置和 <s:hidden name="id"/>

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

 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 <%-- <script language="javascript" src="${pageContext.request.contextPath}/script/DemoData.js" charset="utf-8"></script>
11 <script language="javascript" src="${pageContext.request.contextPath}/script/DataShowManager.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     
15 </script>
16 </head>
17 <body>
18 
19     <div id="Title_bar">
20         <div id="Title_bar_Head">
21             <div id="Title_Head"></div>
22             <div id="Title">
23                 <!--页面标题-->
24                 <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif" /> 岗位管理
25             </div>
26             <div id="Title_End"></div>
27         </div>
28     </div>
29 
30     <div id="MainArea">
31         <table cellspacing="0" cellpadding="0" class="TableStyle">
32 
33             <!-- 表头-->
34             <thead>
35                 <tr align="CENTER" valign="MIDDLE" id="TableTitle">
36                     <td width="200px">岗位名称</td>
37                     <td width="300px">岗位说明</td>
38                     <td>相关操作</td>
39                 </tr>
40             </thead>
41 
42             <!--显示数据列表-->
43             <tbody id="TableData" class="dataContainer" datakey="roleList">
44 
45                 <s:iterator value="#roleList">
46                     <tr class="TableDetail1 template">
47                         <td>${name}&nbsp;</td>
48                         <td>${description}&nbsp;</td>
49                         <td><s:a action="roleAction_delete?id=%{id}" onclick="return delConfirm()">删除</s:a> 
50                         <s:a action="roleAction_editUI?id=%{id}">修改</s:a> 
51                         <a href="setPrivilegeUI.html">设置权限</a>
52                         </td>
53                     </tr>
54                 </s:iterator>
55 
56             </tbody>
57 
58             </tbody>
59         </table>
60 
61         <!-- 其他功能超链接 -->
62         <div id="TableTail">
63             <div id="TableTail_inside">
64                 <s:a action="roleAction_addUI">
65                     <img src="${pageContext.request.contextPath}/style/images/createNew.png" />
66                 </s:a>
67             </div>
68         </div>
69     </div>
70 </body>
71 </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 <%--     <script language="javascript" src="${pageContext.request.contextPath}/script/DemoData.js" charset="utf-8"></script>
11     <script language="javascript" src="${pageContext.request.contextPath}/script/DataShowManager.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 <!-- 标题显示 -->
19 <div id="Title_bar">
20     <div id="Title_bar_Head">
21         <div id="Title_Head"></div>
22         <div id="Title"><!--页面标题-->
23             <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif"/> 岗位设置
24         </div>
25         <div id="Title_End"></div>
26     </div>
27 </div>
28 
29 <!--显示表单内容-->
30 <div id="MainArea">
31     <s:form action="roleAction_add">
32         <div class="ItemBlock_Title1"><!-- 信息说明<DIV CLASS="ItemBlock_Title1">
33             <IMG BORDER="0" WIDTH="4" HEIGHT="7" SRC="${pageContext.request.contextPath}/style/blue/images/item_point.gif" /> 岗位信息 </DIV>  -->
34         </div>
35         
36         <!-- 表单内容显示 -->
37         <div class="ItemBlockBorder">
38             <div class="ItemBlock">
39                 <table cellpadding="0" cellspacing="0" class="mainForm">
40                     <tr>
41                         <td width="100">岗位名称</td>
42                         <td><s:textfield type="text" name="name" cssClass="InputStyle" /> *</td>
43                     </tr>
44                     <tr>
45                         <td>岗位说明</td>
46                         <td><s:textarea name="description" cssClass="TextareaStyle"></s:textarea></td>
47                     </tr>
48                 </table>
49             </div>
50         </div>
51         
52         <!-- 表单操作 -->
53         <div id="InputDetailBar">
54             <input type="image" src="${pageContext.request.contextPath}/style/images/save.png"/>
55             <a href="javascript:history.go(-1);"><img src="${pageContext.request.contextPath}/style/images/goBack.png"/></a>
56         </div>
57     </s:form>
58 </div>
59 
60 </body>
61 </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 <%--     <script language="javascript" src="${pageContext.request.contextPath}/script/DemoData.js" charset="utf-8"></script>
11     <script language="javascript" src="${pageContext.request.contextPath}/script/DataShowManager.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 <!-- 标题显示 -->
19 <div id="Title_bar">
20     <div id="Title_bar_Head">
21         <div id="Title_Head"></div>
22         <div id="Title"><!--页面标题-->
23             <img border="0" width="13" height="13" src="${pageContext.request.contextPath}/style/images/title_arrow.gif"/> 岗位设置
24         </div>
25         <div id="Title_End"></div>
26     </div>
27 </div>
28 
29 <!--显示表单内容-->
30 <div id="MainArea">
31     <s:form action="roleAction_edit">
32     <s:hidden name="id"/>
33         <div class="ItemBlock_Title1"><!-- 信息说明<DIV CLASS="ItemBlock_Title1">
34             <IMG BORDER="0" WIDTH="4" HEIGHT="7" SRC="${pageContext.request.contextPath}/style/blue/images/item_point.gif" /> 岗位信息 </DIV>  -->
35         </div>
36         
37         <!-- 表单内容显示 -->
38         <div class="ItemBlockBorder">
39             <div class="ItemBlock">
40                 <table cellpadding="0" cellspacing="0" class="mainForm">
41                     <tr>
42                         <td width="100">岗位名称</td>
43                         <td><s:textfield type="text" name="name" cssClass="InputStyle" /> *</td>
44                     </tr>
45                     <tr>
46                         <td>岗位说明</td>
47                         <td><s:textarea name="description" cssClass="TextareaStyle"></s:textarea></td>
48                     </tr>
49                 </table>
50             </div>
51         </div>
52         
53         <!-- 表单操作 -->
54         <div id="InputDetailBar">
55             <input type="image" src="${pageContext.request.contextPath}/style/images/save.png"/>
56             <a href="javascript:history.go(-1);"><img src="${pageContext.request.contextPath}/style/images/goBack.png"/></a>
57         </div>
58     </s:form>
59 </div>
60 
61 </body>
62 </html>
editUI.jsp

 

系统管理_岗位管理 END!!!

 

posted @ 2017-03-18 15:07  壹毫米的距离  阅读(201)  评论(0编辑  收藏  举报