文章保存插件拦截

当在网站管理后台-内容管理中,对文章进行保存操作时,拦截保存前,要保存的 News、NewsData 的数据,对其进行处理,处理完后在进行保存。 ## 加入拦截规则 随便创建一个类。比如,类的名字叫 Test, 这个类即: com.xnx3.wangmarket.plugin.learnExample.Test 实现一个接口: com.xnx3.wangmarket.admin.pluginManage.newSave.NewsSaveInterface 实现接口的方法,你可以将文章保存进数据库的前一刻,对文章数据进行更改处理。 以下有个简单的示例: ```` package com.xnx3.wangmarket.plugin.learnExample; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.xnx3.wangmarket.admin.entity.News; import com.xnx3.wangmarket.admin.entity.NewsData; import com.xnx3.wangmarket.admin.pluginManage.newSave.NewsSaveInterface; /** * 文章拦截示例 * @author 管雷鸣 * */ public class Test implements NewsSaveInterface{ /** * 拦截文章的 news 表在保存进数据库的前一刻,进行处理 */ @Override public News interceptNews(HttpServletRequest request, HttpServletResponse response, News news) { //让文章保存时,标题最后自动加上“123”这几个数字 news.setTitle(news.getTitle()+"123"); return news; } /** * 拦截文章的 news_data 表在保存进数据库的前一刻,进行处理 */ @Override public NewsData interceptNewsData(HttpServletRequest request, HttpServletResponse response, NewsData newsData) { // TODO Auto-generated method stub return newsData; } } ```` ###### 注意事项 1. 创建的类必须要在 com.xnx3.wangmarket 这个包之下,不然扫描不到。 2. 必须实现上面提到的 NewsSaveInterface 这个接口 3. 类的名字随便。 4. 如果有多个拦截规则,他们是共同存在且生效的。除非你将这个自动规则(类)删除。 ## 取消拦截规则 若想取消某个文章保存前的拦截规则,只需要将其实现的类删掉即可! ## 示例 这里有一个利用此规则所做的关键字替换的插件,可以参考。 关键字插件: https://gitee.com/leimingyun/wangmarket_plugin_keyword