element tree 可以新增修改删除_基于SpringBoot从零构建博客网站- 新增创建、修改、删除专栏功能...

守望博客是支持创建专栏的功能,即可以将一系列相关的文章归档到专栏中,方便用户管理和查阅文章。这里主要讲解专栏的创建、修改和删除功能,至于专栏还涉及其它的功能,例如关注专栏等后续会穿插着介绍。

1、创建专栏

接收和处理专栏相关功能的操作的方法会放在GroupController类中,首先创建专栏的页面为:

e66ef77fcf39319299c372120872a179.png

这里有两个地方需要特别说明:

第一这个分类数据,此处分类数据正是本博客网站的分类数据,这个分类数据是系统初始化时加入的,这个初始化的功能后续会加入,目前此处就是提前将数据先写入到数据库中,例如本博客作为技术类博客,则分类有:前端、架构、区块链、云计算等。

然后这个分类信息数据一般初始化后,就不会有修改,则这个数据是放入缓存中,即,CategoryCache:

/** * 缓存分类信息 * 分类信息放到系统永久缓存中,存放形式为:"_CATEGORY" + categoryId为key,value为分类信息对象 * * @author lzj * @since 1.0 * @date [2019-07-22] */@Slf4j@DependsOn("categoryService")@Component("categoryCache")public class CategoryCache implements ICache> {​ /** * 注入基于Spring提供的Cache接口实例,默认由Ehcache实现 * TODO 以后也可以是Redis、Memcached提供实现 */ @Autowired private CacheManager cacheManager;​ @Autowired private ICategoryService categoryService;​ /** * 缓存实例 */ private Cache cache;​ /** * key的前缀 */ private String keyPrefix = "_CATEGORY";​ /** * 分类信息根节点ID */ public static final String ROOT_CATEGORY_ID = "0";​ @PostConstruct public void init() { // 获取系统永久缓存实例 cache = cacheManager.getCache(Const.CACHE_SYSTEM_ETERNAL); log.info("获取系统永久缓存实例");​ log.debug("开始加载父分类信息"); List categorys = categoryService.getByParentId(ROOT_CATEGORY_ID); if (categorys != null && !categorys.isEmpty()) { put(keyPrefix + ROOT_CATEGORY_ID, categorys); } log.debug("加载完毕父分类信息"); }​ @Override public List get(Object key) { Cache.ValueWrapper valueWrapper = cache.get(keyPrefix + key); if (valueWrapper == null) { // 从数据库重新加载一次 List categorys = categoryService.getByParentId((String) key); if (categorys == null) { return null; }​ // 再次放到缓存中 put(key, categorys);​ return categorys; } return (List) valueWrapper.get(); }​ @Override public void put(Object key, List value) { cache.put(keyPrefix + key, value); }​ @Override public void remove(Object key) { cache.evict(keyPrefix + key); }}

第二需要说明的是,此处的上传控制是用的webuploader,利用webuploader处理的上传文件的话,需要按如下方式初始化:

$(function() { var _list = $('#fileList'); var ratio = window.devicePixelRatio || 1; var thumbnailWidth = 100 * ratio; var thumbnailHeight = 100 * ratio;​ // 初始化Web Uploader var uploader = WebUploader.create({​ // 选完文件后,是否自动上传。 auto: true,​ // swf文件路径 swf: '${rc.contextPath}/static/plugins/webuploader/Uploader.swf',​ // 文件接收服务端。 server: '${rc.contextPath}/upload',​ // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: '#filePicker',​ fileVal: "_uploadFile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值