在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:jforum开源软件地址:https://gitee.com/subpu/jforum开源软件介绍:jforum简介一个SpringMVC Spring JPA单体的小论坛, 这不是分布式项目, 没有使用全文搜索,不是一个前后端分离程序,没有集成MQ中间件。 框架项目基于JDK 8+, 主要使用: Spring 5, Spring MVC 5, JPA2.1(基于EclipseLink实现)实现一个基础的小论坛. 其它增加用户粘性的功能后期会以插件的方式接入 应用说明
public class TridentFrontConfig implements WebMvcConfigurer{ //ETC @Bean(name="onlineMemberStorage") public OnlineMemberStorage getMemberStorage(CookieMetaConfig cookieConfig){ return new com.apobates.forum.member.storage.cookie.HttpCookieProvider(cookieConfig); }}
11.1 JSP(topic/view)使用自定义标签来实现: <forum:decorate posts = "${topic.content}"> <forum:blockTip><p class="alert-tip bg-danger"><strong>提示:</strong> 作者被禁止发言或内容自动屏蔽</p></forum:blockTip> <forum:editTip><p class="alert-tip bg-warning">回复最近由 ${modifyer} 于 ${modifyDate} 编辑</p></forum:editTip></forum:decorate> 11.2 若是JS异步加载, 项目在获得JSON后使用Mustache.js来回填数据. 例如:forum.core.js function drawReplier(jsonArray){ var targetEleSelector = $('#topic_posts_collect'); targetEleSelector.find('.dynamic-posts-record').remove(); var obj = {}; obj.result = jsonArray; var T='{#result}' +' //ETC ' +' <div class="posts-body-content">' +' {#block}<p class="alert-tip bg-danger"><strong>提示:</strong> 作者被禁止发言或内容自动屏蔽</p>{/block}' +' {^block}' +' {&content}{&modify}' +' {/block}' +' //ETC'; var extRS={ modify : function(){ return this.modifyDate.length == 0?'':'<p class="alert-tip bg-warning">回复最近由 '+this.modifyer+' 于 '+this.modifyDate+' 编辑</p>'; }, APP : BASE }; Mustache.parse(T, ['{', '}']); var rs = $.extend(obj, extRS); //ETC} block: true表示已经删除了, false表示正常
13.1 A可以作操作者检查, 被操作实体的检查. 例会员 张三收藏话题(xxx), 张三即是操作者, 话题(xxx)即为被操作的实体。包名: com.apobates.forum.core.verify 13.2 B是扩展策略的实现者, 可以在配置文件检查完后进行其它业务的检查。包名: com.apobates.forum.strategy.galax 13.3 版块的配置文件决定此版块下的话题的发布, 版块阅读的角色,组和等级要求, 话题的配置文件决定此话题下的回复, 话题阅读的角色,组和等级要求
感谢
|
请发表评论