sitesCMS简介
sitesCMS 是基于 JFinal 的 多站点 CMS内容管理系统,遵循JFinal极简设计理念,轻量级、易扩展、学习简单,除JFinal外无其他重度依赖。精简的多站点功能设计,极易二次开发,一天一个网站不是梦。完善的API模块,支持 微信小程序 、APP等各类小程序前端对接,打通移动端开发渠道,sitesCMS 不只是 CMS。
官方网站:http://sitescms.top/
视频教程:https://ke.qq.com/course/3551225?tuin=92419b8c
更新内容
【升级】升级log4j版本至1.2.17
【优化】优化表单token校验功能,提取通用拦截器,简化Controller中的代码
扩展知识
介绍一个JFinal的扩展知识,在拦截器中获取返回内容,并对内容进行更新,这也是本次更新的主要代码,通过这次的更新进行演示说明。
public class ReturnInterceptor implements Interceptor {
@Override
public void intercept(Invocation invocation) {
invocation.invoke();//先执行后续的逻辑
Controller controller = invocation.getController();
Render render = controller.getRender();//获取返回的render
if(render instanceof JsonRender){//判断render类型
JsonRender jsonRender = (JsonRender) render;
String jsonText = jsonRender.getJsonText();//获取返回字符串内容
JSONObject jsonObject = JSONUtil.parseObj(jsonText);
String state = (String) jsonObject.get("state");
if("fail".equals(state)){
//失败的情况下重新生成token并返回
jsonObject.set(SiteInfo.formTokenKey, controller.createToken(SiteInfo.formTokenKey, 1800));
//将更新后的内容返回
controller.renderJson(jsonObject);
}
}
}
}