基于ssm框架的个人博客(7)--博客类别管理(增、删、改、刷新)

我们之前在博客类别管理界面的jsp中,是用简单的alter表示,函数被调用了,现在,我们就来真正的进行数据库操作。


toolbar : [ {
				iconCls : 'icon-add', //图标
				text : '添加', //名称
				handler : function() { //回调函数
					alert("添加");
				}
			}, '-', {
				iconCls : 'icon-edit',
				text : '修改',
				handler : function() {
					alert("添加");
				}
			}, '-', {
				iconCls : 'icon-edit',
				text : '删除',
				handler : function() {
					alert("删除");
				}
			}, '-', {
				iconCls : 'icon-reload',
				text : '刷新',
				handler : function() {
					alert("刷新");
				}
			} ],
			//同列属性,但是这些列将会冻结在左侧
			frozenColumns : [ [ {
				field : 'checkbox',
				checkbox : true
			}, //复选框
			{
				field : 'id',
				title : '编号',
				width : 200
			} //id字段
			] ],
			columns : [ [ {
				field : 'typename',
				title : '博客分类名称',
				width : 300
			}, //typename 字段
			{
				field : 'ordernum',
				title : '博客类别排序',
				width : 300
			}, //ordernum 字段
			] ],

现在进入前后台同步开发,按照业务的顺序

添加和编辑的界面可以合成一个,因为字段都是两个,名称和顺序,这样如何区分是新建还是修改,因为如果你做操作前,是存在的话,dategrid中是存在你的博客类别的id的,那么就可以通过是否传递id给后台作为区分。后台判断,如果有BlogType的id字段不为null,那么就做修改,如果为null,那就证明了,这是新的类别,那就做新建操作。

具体看代码

页面:

toolbar : [ {
iconCls : 'icon-add', //图标
text : '添加', //名称
handler : function() { //回调函数
//打开对话框并且设置标题
$("#dlg").dialog("open").dialog("setTitle", "添加博客类别信息");
//将url设置为添加
url = "${pageContext.request.contextPath }/admin/saveType";
}
},

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

<!--添加博客类别信息的对话框  -->
<div id="dlg" class="easyui-dialog"
style="width: 500px; height: 180px; padding: 10px 20px" closed="true"
buttons="#dlg-buttons">
<form id="fm" method="post">
<table cellspacing="8px">
<tr>
<td>博客类别名称</td>
<td><input type="text" id="typename" name="typename"
class="easyui-validatebox" required="true"></td>
</tr>
<tr>
<td>博客类别排序</td>
<td><input type="text" id="ordernum" name="ordernum"
class="easyui-numberbox" required="true" style="width: 60px">&nbsp;(博客类别会根据序号从小到大排列)
</td>
</tr>
</table>
</form>
</div>


<div id="dlg-buttons">
<div>
<a href="javascript:saveBlogType()" class="easyui-linkbutton"
iconCls="icon-ok" plain="true">保存</a> <a
href="javascript:closeBlogTypeDialog()" class="easyui-linkbutton"
iconCls="icon-cancel" plain="true">关闭</a>
</div>
</div>

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

function saveBlogType() {
$("#fm").form("submit", {
url : url,
onSubmit : function() {
return $(this).form("validate");
}, //进行验证,通过才让提交
success : function(result) {
if (result.status==200) {
$.messager.alert("系统提示", "博客类别保存成功");
$("typename").val(""); //保存成功后将内容置空
$("ordernum").val("");
$("#dlg").dialog("close"); //关闭对话框
$("#dg").datagrid("reload"); //刷新一下
} else {
$.messager.alert("系统提示", "博客类别保存失败");
return;
}
}
});
}

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

服务端:

/**
* 添加博客类别

* @param type
* @return
*/
@RequestMapping(value = "saveType", method = RequestMethod.POST)
@ResponseBody
public MyResult saveBlogType(TBlogtype type, HttpServletResponse response) {
int n;
if (type.getId() == null) {
n = blogTypeService.addBlogType(type);// 没有记录,添加
} else {
n = blogTypeService.updateBlogType(type);// 有记录,修改
}
// response.setContentType("application/json");
if (n > 0) {
return MyResult.ok();
} else {
return MyResult.build(400, "error");
}
}

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

删除的页面代码

iconCls : 'icon-edit',
text : '删除',
handler : function() {
                 //获取选中要删除的行
        var selectedRows = $("#dg").datagrid("getSelections");
        //判断是否有选择的行
        if(selectedRows.length == 0) {
            $.messager.alert("系统提示", "请选择要删除的数据");
            return;
        }
        //定义选中 选中id数组
        var idsStr = [];
        //循环遍历将选中行的id push进入数组
        for(var i = 0; i < selectedRows.length; i++) {
            idsStr.push(selectedRows[i].id);
        }
        //将数组安装,连接成字符串
        var ids = idsStr.join(","); //1,2,3,4
        //提示是否确认删除
        $.messager.confirm("系统提示", "<font color=red>您确定要删除选中的"+selectedRows.length+"条数据么?</font>", function(r) {
            if(r) {
           
                $.post("${pageContext.request.contextPath}/admin/deleteType",
                    {"ids": ids}, function(result){
                    
                        if(result.status==400) {
                            $.messager.alert("系统提示", '该类别下有博客,不能删除!');
                        } else if(result.status==200) {
                            $.messager.alert("系统提示", "数据删除成功!");
                            $("#dg").datagrid("reload");
                        } else {
                            $.messager.alert("系统提示", "数据删除失败!");
                        }
                    });
            }
        });
}
}, 

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

服务端代码:

/**
* 删除博客内容

* @param ids
* @param response
* @return
*/


@RequestMapping("deleteType")
@ResponseBody
public MyResult deleteBlogType(String ids, HttpServletResponse response) {
String[] idsArr = ids.split(",");
for (String id : idsArr) {
Integer i = new Integer(id);
// 根据博客类别查询博客,如果有,则不能够删除,暂时先放着
blogTypeService.deleteBlogType(i);
}
response.setContentType("application/json");
MyResult myResult = new MyResult(200, "删除成功", null);
return myResult;
}

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

刷新页面代码

{
iconCls : 'icon-reload',
text : '刷新',
handler : function() {
$("#dg").datagrid("reload");
}
} ],

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

关闭对话框代码

function closeBlogTypeDialog() {
        $("typeName").val(""); //保存成功后将内容置空
        $("typeNum").val("");
        $("#dlg").dialog("close"); //关闭对话框
    }

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

以上代码,基本都是easyui的最常用的用法,我参考了资料,最主要是http://blog.csdn.net/xp541130126/article/details/70267842(在此谢过)

做到现在,基本上把博客类别这块整完了。现在开始博客部分的编辑,希望对读者有帮助,好记性不如烂笔头,行动起来吧!

彩蛋:

个人博客系统主要用于发表个人博客,记录个人生活日常,学习心得,技术分享等,供他人浏览,查阅,评论等。本系统结构如下: (1)博主端: 登录模块:登入后台管理系统:首先进入登录页面,需要输入账号和密码。它会使用Shiro进行安全管理,对前台输入的密 码进行加密运算,然后与数据库中的进行比较。成功后才能登入后台系统博客管理模块: 博客管理功能分为写博客博客信息管理。写博客是博主用来发表编写博客的,需要博客标题,然后选择博 客类型,最后将博客内容填入百度的富文本编辑器中,点击发布博客按钮即可发布博客博客类别管理模块:博主类别管理系统可以添加,修博客类型名称和排序序号。将会显示到首页的按日志类别区域。 游客可以从这里查找相关的感兴趣的博客内容 评论信息管理模块:评论管理功能分为评论审核和评论信息管理两部分。评论审核是当有游客或自己发表了评论之后,博主需 要在后台管理系统中审核评论。若想将此评论显示在页面上则点击审核通过,否则点击审核不通过。 个人信息管理模块:修博主的个人信息,可以修昵称,个性签名,可以添加个人头像,修个人简介; 系统管理功能模块:友情链接管理,修密码,刷新系统缓存和安全退出,友情链接管理可以添加,修除友情链接网址 (2)游客端: 查询博客: 查询具体哪一篇博客 查看博客内容: 查看博客内容 查看博主个人信息:查看博主个人简介 发表评论: 可以评论具体某篇博客 友情链接: 查看友情链接
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值