Jimoshi_整合三大框架(二)--添加用户信息数据、删除用户信息数据、修改用户信息数据

本文详细介绍了一个基于Struts2、Hibernate4和Spring4三大框架的用户信息管理系统中,如何实现用户信息的添加、删除与修改功能。文章通过具体代码示例展示了从前端页面到后端业务逻辑的完整流程。
Jimoshi成长经历:前面的笔记后面再慢慢整理-------方便自己

目录:添加用户信息数据、删除用户信息数据、修改用户信息数据

整合三大框架(二):Struts2+Hibernate4+Spring4


一、添加用户信息数据(继整合三大框架一续写)

  1、编写success.jsp页面发送添加请求

  代码示例:

  <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--引入easyui的样式 -->
<link rel="stylesheet"  type="text/css" href="${pageContext.request.contextPath}/themes/bootstrap/easyui.css">
<link rel="stylesheet"  type="text/css" href="${pageContext.request.contextPath}/themes/icon.css">
<!-- js文件 -->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/easyui-lang-zh_CN.js"></script>
</head>
<script type="text/javascript">
(function(){
    //更改底部工具栏 getPager返回页面对象
    var pager = $('#toolbar').datagrid('getPager');    
      pager.pagination({
        pageList: [10,20,30],
    });
})    
//显示添加用户信息框
function adds(){
    $("#dlg").dialog("open").dialog('setTitle', '添加用户');
        $('#updatess').hide();
        $('#addss').show();
        $('#uuid').hide();
}
//确认添加学生信息
function addss(){
//获得新增窗口内输入的文本框的值
var user = new Object();
user.uname = $("#uname").val();
user.upsw = $("#upsw").val();
var json = JSON.stringify(user);
//通过ajax请求将对应数据发送到后台中
$.ajax({
    type:"post",
    url:"${pageContext.request.contextPath}/user/user_addMsg.action",
    data:{"json":json},
    dataType:"text",
    success:function(data){
            $.messager.alert('提示','添加成功','info',function(){
                //刷新页面,关闭窗口,清除表单内容
                $("#StuList").datagrid('reload');
                $('#dlg').dialog('close');
                $('#dlg').form('clear');    
            });
        }
    })
};
</script>
<body>
      <table id="StuList"  class="easyui-datagrid"
            toolbar="#toolbar" pagination="true" fit="true"
            url="${pageContext.request.contextPath}/user/user_showMsg.action" striped="true"
            rownumbers="true" fitColumns="true" border="false">
        <thead>
            <tr>
                <th field="ck" checkbox=true></th>
                <th field="uid"  hidden="true" >ID</th>
                <th field="uname" width='50' resizable='false' >姓名</th>
                <th field="upsw" width='50' resizable='false'>密码</th>
            </tr>
        </thead>
        <div id="toolbar">
                <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add"  plain="true"  onclick="adds()">增加</a>
                <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit"  plain="true"  onclick="updates()">修改</a>
                <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove"  plain="true"  onclick="deletes()">删除</a>
            </div>
             <div id="dlg" class="easyui-dialog"
style="width:400px;height:280px;padding:10px 20px"
            closed="true" buttons="#dlg-buttons">
        <div class="ftitle" id="">学生信息</div>
        <form id="fm" method="post" novalidate>
        <div class="fitem" id="ssid">
          <div class="fitem" id="uuid">
                <label>编号:</label>
                <input id="uid" name="uid" class="easyui-textbox" required="true">
            </div>
            <div class="fitem">
                <label>姓名:</label>
                <input id="uname" name="uname" class="easyui-textbox" required="true">
            </div>
            <div class="fitem">
                <label>密码:</label>
                <input id="upsw" name="upsw" class="easyui-textbox" required="true">
            </div>      
        </form>
    </div>
    <div id="dlg-buttons">
        <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok"

style="width:90px" onclick="updatess()" id="updatess">确认修改</a>
        <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok"

onclick="addss()" style="width:90px" id="addss">确认添加</a>
        <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel"

onclick="javascript:$('#dlg').dialog('close')" id="et" style="width:90px">取消</a>
    </div>
    </table>
</body>
</html>

  2、编写UserDao类添加AddMsg方法

  代码示例:

  /**
    * 添加用户
    * @param uname 传入姓名
    * @param upsw 传入密码
    * @return
    */
   public boolean AddMsg(String uname,String upsw);

  3、重写UserDaoImpl中的AddMsg方法

  代码示例:

  @Override
    public boolean AddMsg(String uname, String upsw) {
        // TODO Auto-generated method stub
        boolean flag =false;
        User user = new User();
        user.setUname(uname);
        user.setUpsw(upsw);
        this.getCurrentSession().save(user);
        return flag;
    }

  4、编写UserService类添加addMsg方法

  代码示例:

  /**
    * 添加用户信息
    * @param uname 传入姓名
    * @param upsw 传入密码
    * @return
    */
   public boolean addMsg(String uname,String upsw);

  5、重写UserServiceImpl类中的addMsg方法

  代码示例:

  @Override
    public boolean addMsg(String uname, String upsw) {
        // TODO Auto-generated method stub
        return userDao.AddMsg(uname, upsw);
    }

  6、编写UserAction中的方法调用UserServiceImpl

  代码示例:

  private String json;
  public String getJson() {
    return json;
  }
  public void setJson(String json) {
    this.json = json;
  }
  //添加用户
  public void addMsg(){
     JSONObject jso = JSONObject.fromObject(json);
     System.out.println(jso);
     User user=(User) JSONObject.toBean(jso, User.class);
     boolean flag =false;
     flag = userService.addMsg(user.getUname(),user.getUpsw());
     response.setCharacterEncoding("utf8");
     PrintWriter pw;
     try {
        pw = response.getWriter();
          pw.write(flag+"");
       } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
  }

  7、测试

二、删除用户信息数据
 
  1、编写success.jsp页面发送url请求

  代码示例:

  //删除用户信息
  function deletes(){
    //获取被选中需要删除的数据
     var data = $("#StuList").datagrid('getSelections');
     if(data.length==0){
         $.messager.show({
                title:'警告',
                msg:'请选中需要删除的数据',
                timeout:1000,
                showType:'slide',
                style:{
                        top:'100',                        
                    }
            });
     }else{
          //声明一个空的数组 装选中的uid
          var uids = [];
          for (var i = 0; i < data.length; i++) {
            uids.push(data[i].uid);
        }
    $.messager.confirm('确认对话框', '您确认删除选中的'+data.length+'条数据吗?', function(r){
                if (r){
                    //通过ajax请求将对应数据发送到后台中
                    $.ajax({
                        type:"post",
                        url:'${pageContext.request.contextPath}/user/user_deleteMsg.action',
                        data:{"uids":uids},
                        dataType:"text",
                        success:function(data){
                                //提示删除成功
                                $.messager.alert('提示','删除成功','info',function(){
                                $("#StuList").datagrid('reload');
                                $("#StuList").datagrid('uncheckAll');
                    });
                }
                });
             }
         });
      }
   }

   2、编写UserAction类添加deleteMsg方法并且测试请求是否发送成功

   代码示例:

   //删除用户
   public void deleteMsg(){
         System.out.println(111);
    }

   3、编写UserDao类添加删除用户的方法deleteMsg

   代码示例:

   /**
     * 删除用户
     * @param uid 传入用户id
     * @return
     */
    public void deleteMsg(int uid);

   4、重写UserDaoImpl类实现具体的删除用户的方法

   代码示例:

       @Override
    public void deleteMsg(int uid) {
        // TODO Auto-generated method stub
        User user = (User) this.getCurrentSession().get(User.class, Integer.valueOf(uid));
        this.getCurrentSession().delete(user);
    }

   5、编写UserSerivce类添加批量删除用户的方法

   代码示例:

   /**
     * 批量删除用户信息
     * @param uids 传入选中的用户
     * @return
     */
   public void deleteMsg(String uids[]);

   6、重写UserServiceImpl类实现批量删除用户的方法

   代码示例:

   @Override
    public void deleteMsg(String uids[]) {
        // TODO Auto-generated method stub
        for (int i = 0; i < uids.length; i++) {
            userDao.deleteMsg(Integer.valueOf(uids[i]));
        }
    }

   7、编写UserAction类实现删除用户的方法

   代码示例:

   private int uids[];
   private HttpServletRequest request;
   public int[] getUids() {
    return uids;
   }
   public void setUids(int[] uids) {
    this.uids = uids;
   }
   //删除用户
   public void deleteMsg(){
    String uids[]=request.getParameterValues("uids[]");
    userService.deleteMsg(uids);
    PrintWriter pw;
    try {
        pw = response.getWriter();
        pw.write("");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }
   @Override
   public void setServletRequest(HttpServletRequest request) {
    // TODO Auto-generated method stub
    this.request=request;
    }
   
   8、测试

三、修改用户信息数据

   1、编写success.jsp页面发送url请求

   代码示例:

   //修改用户信息
   function updates(){
     var data = $("#StuList").datagrid('getSelections');    
        if(data.length==0){
            $.messager.show({
                title:'警告',
                msg:'请选中需要修改的数据',
                timeout:1500,
                showType:'slide',
                    style:{
                        left:100,
                        right:'',
                        top:100
                    }
                  });
        }else if(data.length!=1){
            $.messager.show({
                title:'警告',
                msg:'你只能选择一条数据修改',
                timeout:1500,
                showType:'slide',
                    style:{
                        left:100,
                        right:'',
                        top:100
                    }
                  });
        }else{
            var user =$("#StuList").datagrid('getSelected');
            $("#uid").textbox('setValue',user.uid)
            $("#uname").textbox('setValue',user.uname);
            $("#upsw").textbox('setValue',user.upsw);
            $('#dlg').dialog('open').dialog('center').dialog('setTitle','修改信息');
               //隐藏保存按钮
                $('#addss').hide();
               //隐藏id框
                $('#uuid').hide();
                //显示确认按钮
                $('#updatess').show();
        }
        
    }    
    //确认修改用户信息
    function updatess(){
          var user = new Object();
          user.uid = $("#uid").val();
          user.uname = $("#uname").val();
          user.upsw = $("#upsw").val();
          var json1=JSON.stringify(user);           
        $.ajax({                       
                type:"post",
                url:"${pageContext.request.contextPath}/user/user_updateMsg.action",
                data:{"json1":json1},
                dataType:"text",
                success:function(data){
                    $.messager.alert('提示','修改成功', data)
                    $('#StuList').datagrid('reload');  
                    $('#dlg').dialog('close')
                }
        })
   }

   2、编写UserAction类测试请求是否成功

   代码示例:

   //修改用户
    public void updateMsg(){
       System.out.println(111);
    }

   3、编写UserDao类添加删修改用户的方法updateMsg

   代码示例:

   /**
     * 修改用户
     * @param uid 传入用户id
     * @param uname 传入用户姓名
     * @param upsw 传入用户密码
     */
   public void updateMsg(int uid,String uname,String upsw);

   4、重写UserDaoImpl类实现具体的修改用户的方法

   代码示例:

   @Override
    public void updateMsg(int uid, String uname, String upsw) {
        // TODO Auto-generated method stub
        User user = (User) this.getCurrentSession().get(User.class, Integer.valueOf(uid));
        user.setUname(uname);
        user.setUpsw(upsw);
          //this.getCurrentSession().update(user);
    }

   5、编写UserSerivce类添加修改用户的方法

   代码示例:

   /**
     * 修改用户信息
     * @param uid 传入用户id
     * @param uname 传入用户姓名
     * @param upsw 传入用户密码
     */
   public void updateMsg(int uid,String uname,String upsw);

   6、重写UserServiceImpl类实现修改用户的方法

   代码示例:

   @Override
    public void updateMsg(int uid, String uname, String upsw) {
        // TODO Auto-generated method stub
        userDao.updateMsg(uid, uname, upsw);
    }

   7、编写UserAction类实现修改用户的方法

   代码示例:

   private String json1;
   public String getJson1() {
     return json1;
   }
   public void setJson1(String json1) {
    this.json1 = json1;
   }
   //修改用户
   public void updateMsg(){
      JSONObject jso = JSONObject.fromObject(json1);
    User user=(User) JSONObject.toBean(jso, User.class);
    userService.updateMsg(user.getUid(), user.getUname(), user.getUpsw());
    PrintWriter pw;
    try {
        pw = response.getWriter();
        pw.write("");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
   }

   8、测试
项目涉及技术:    1、前端:jsp、css、javascript、jQuery(js框架)、jQueryEasyUi(基于jQuery的前端框架)+BootStrap(前端框架)、dTree插件、富文本编辑器等 2、后台:SpringMvc、Spring、Hibernate(持久层框架)、JPA、MD5加密、Spring Boot、 log4J日志框架、jstl、jstl自定义分页标签等3、项目管理工具:Maven4、数据库:Mysql5、服务器:Tomcat项目开发涉及功能: 1、项目以及数据库搭建2、用户异步登录、退出以及记住用户信息3、自定义分页标签实现(24种样式随意切换)4、拦截器功能实现5、整合前端框架 EasyUi以及Bootstrap6、用户模块信息添加修改删除、多条件分页查询、激活、预览、用户账号异步校验、异步加载部门以及职位信息7、角色模块添加删除修改、分页查询、角色绑定以及解绑用户、角色绑定以及解绑操作8、Spring事务处理机制讲解9、模块管理增加、修改删除、分页查询、整合dTree树形插件10、项目实现权限控制11、公告模块整合富文本编辑器12、密码进行MD5加密13、项目改版成Spring Boot实现14、代码机器人使用等等功能其他实战项目:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.youkuaiyun.com/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.youkuaiyun.com/course/detail/23008 java项目之hrm人事管理项目(java毕业设计)https://edu.youkuaiyun.com/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.youkuaiyun.com/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.youkuaiyun.com/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.youkuaiyun.com/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.youkuaiyun.com/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.youkuaiyun.com/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.youkuaiyun.com/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.youkuaiyun.com/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.youkuaiyun.com/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值