06-实例开发menu菜单功能-CRUD(3课时12-21)

http://www.miniui.com/demo/#src=datagrid/celledit.html

添加

第1-2节

  1. 查看databinding.jsp发现添加时链接到/AjaxService.jsp?method=SaveEmployees"
    2)通过前台打印请求格式,发现请求格式为json数组 也就是说表单数据转成json字符中的过程框架帮我们完成了。
    [{"name":"name","_id":2,"_uid":2,"_state":"added","loginname":"12121","salary":"3860","gender":"1","age":30,"birthday":"2018-12-18T00:00:00"}]

基于上面的研究。我们开始开发

注意后台用对象数组接即可。此外新增加一下method属性用来区分操作类型。
我们约定好添加用add 修改update 删除del

基于上一章内容,开发菜单添加功能

1)menu.jsp中的saveData()函数修改为如下内容:

function saveData() {
    //获取变动的数据
var data = grid.getChanges();
var json = mini.encode(data);//反序列成json数据
//alert(json);
grid.loading("保存中,请稍后......");
//json数组
$.ajax({
    headers: {//公有配置,可以封装复用
'Accept': 'application/json',
'Content-Type': 'application/json'
},
url: "<%=request.getContextPath()%>/admin/menu/crud",//method是操作标识。save 
update del
data: json,
type: "post",
success: function (result) {
    //alert(result.code);
        grid.reload();
    
},
error: function (jqXHR, textStatus, errorThrown) {
alert(jqXHR.responseText);
}
});
}

2)MenuController.java 新增加如下方法

     @RequestMapping("/crud")
 @ResponseBody
public ResutMsg crud(@RequestBody Menu[] menus) {
    String oper=menus[0].get_state();
    ResultMsg msg=new ResultMsg();
    int i=0;
    if(oper.equals("added")){//添加操作
    i=MenuServiceImpl.add(menus);
    }else if(oper.equals("modified")){//修改操作
        System.out.println("修改操作");
    }
    if(i==menus.length){
        msg.setCode(0);
        msg.setMsg("成功");
    }else{
        msg.setCode(-1);
        msg.setMsg("失败");
    }
    return msg;
}

3)IMenuService新增add方法

public interface IMenuService {
int add(Menu[] menus);
}

4)MenuServiceImpl实现类相关方法

@Override
public int add(Menu[] menus) {
    int i=0;
    for(Menu m:menus){
        String id=UuidGenerateUtil.getUUID();
        m.setId(id);
        int count=menuMapper.add(m);
        i+=count;
    }
    return i;
}

5)IMenuMapper.java新增

@Insert("insert into t_menu values(#{id},#{text},#{pid},#{url},#{addDate},null,null)")
int add(Menu m);

6)UuidGenerateUtil

public class UuidGenerateUtil {

    public static String getUUID() {
        
        String uuid=UUID.randomUUID().toString().replace("-", "");
        System.out.println(uuid);
        return uuid;
    }

}

测试:登录并操作菜单管理中的添加功能进行测试。成功_
总结:注意时间功能,引 java.sql.Date

第3节 学生完成做上述程序

你可能感兴趣的:(06-实例开发menu菜单功能-CRUD(3课时12-21))