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

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"  οnclick="adds()">增加</a>
                <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit"  plain="true"  οnclick="updates()">修改</a>
                <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove"  plain="true"  οnclick="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" οnclick="updatess()" id="updatess">确认修改</a>
        <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok"

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

οnclick="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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值