最近项目一直使用jfinal开发 于是 就将基本的CMS功能进行一个模块一个模块的整理 待日后使用的时候 可以实现快速搭建的目的
@沐木 目前实现的主要功能就是要实现网站的基本CMS 一般包括 用户管理 文章 增删改查 数据上传 以及数据校验 和常用的类似论坛的功能
@版本 目前开发第一个版本 整理下jfinal中的 用户注册 登陆 以及 验证码校验
话说Beetl模板框架比Freemarker模板还要快,至于到底怎么样,目前还没有感觉到,不管那么多了,上手再说。
首先需要下载beetl包:Beetl模板路径
Beetl提供JFinal框架的集成,使用BeetRenderFactory类,通过如下代码注册即可完成集成:
- @Override
- public void configConstant(Constants me) {
- loadPropertyFile("jdbc.properties");
- //配置模板
- me.setMainRenderFactory(new MyBeetlRenderFactory());
- //获取GroupTemplate模板,可以设置共享变量操作
- GroupTemplate groupTemplate=MyBeetlRenderFactory.groupTemplate;
- me.setDevMode(getPropertyToBoolean("config.devModel", false));
- me.setViewType(ViewType.JSP);
- me.setEncoding("UTF-8");
- }
该方法的作用为JFinal框架中常量配置方法,这里我自定义的MyBeetlRenderFactory类继承于BeetlRenderFactory,如下:
- package com.tenghu.core.beetl;
- import org.beetl.ext.jfinal.BeetlRender;
- import org.beetl.ext.jfinal.BeetlRenderFactory;
- import com.jfinal.render.Render;
- public class MyBeetlRenderFactory extends BeetlRenderFactory{
- @Override
- public Render getRender(String view) {
- BeetlRender render=new BeetlRender(groupTemplate, view);
- return render;
- }
- @Override
- public String getViewExtension() {
- return ".html";
- }
- }
由于BeetRenderFactory默认使用的FileResourceLoader,其根目录位于WebRoot下,如果需要修改其他目录下,需要在src下创建一个beetl,properties的属性文件,在该文件中配置如下代码:
- RESOURCE.root=/WEB-INF/view
因为Beetl默认的配置文件在org/beetl/core/beetl-default.properties,Beetl启动时会通过Configuration类加载,然后再加载classpath中的beetl.properties,如果自己创建的beetl.properties文件,那么回后者会将前者覆盖
到这里呢,Jfinal集成Beetl模板就算完成了,接下来看下实现的效果,如下: