jfinal如何设置使用哪种模板引擎(视图)

本文详细介绍了如何在JFinal框架中配置Beetl作为默认的视图渲染引擎,包括在JFinalConfig中设置RenderFactory,以及如何注册自定义的函数和标签到Beetl的GroupTemplate。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、jfinal\com\jfinal\core\Controller.java

/**
* Render with view use default type Render configured in JFinalConfig
*/
public void render(String view) {
render = renderManager.getRenderFactory().getRender(view);
}

2、
public class JFinalConfig extends com.jfinal.config.JFinalConfig
public void configConstant(Constants constants) {
if(log.isInfoEnabled()) log.info("configConstant 视图Beetl设置");
ToolBeetl.brf.config();
constants.setRenderFactory(ToolBeetl.brf);
ToolBeetl.regiseter();
}

3、
import org.beetl.core.BeetlKit;
import org.beetl.core.GroupTemplate;
import org.beetl.core.Template;
import org.beetl.ext.jfinal3.JFinal3BeetlRenderFactory;
public static final JFinal3BeetlRenderFactory brf = new JFinal3BeetlRenderFactory();

/**
* 模板扩展
*/
public static GroupTemplate regiseter(){
DataBase dataBase = ToolDataBase.getDbMap(ConstantInit.db_dataSource_main);
String db_type = dataBase.getType();

Map<String, Object> sharedVars = new HashMap<String, Object>();
sharedVars.put("db_type", db_type);

if(log.isDebugEnabled()) log.debug("注册全局web视图模板解析");
GroupTemplate mainGT = brf.groupTemplate;
if(mainGT == null){
JFinal3BeetlRenderFactory brfTemp = new JFinal3BeetlRenderFactory();
brfTemp.config();
mainGT = brfTemp.groupTemplate;
}
mainGT.registerFunction("authUrl", new AuthUrl());
mainGT.registerFunction("escapeHtml", new EscapeHtml());
mainGT.registerFunction("unEscapeHtml", new UnEscapeHtml());
mainGT.registerFunction("i18nFormat", new I18nFormat());
// mainGT.registerFunction("sqlEncode", new SqlEncode());
mainGT.registerFunction("unEscapeHtml", new UnEscapeHtml());
mainGT.registerTag("sql", SqlTag.class);

mainGT.setSharedVars(sharedVars);

if(log.isDebugEnabled()) log.debug("注册全局BeetlKit模板解析");
GroupTemplate kitGT = BeetlKit.gt;
kitGT.registerFunction("authUrl", new AuthUrl());
kitGT.registerFunction("escapeHtml", new EscapeHtml());
kitGT.registerFunction("unEscapeHtml", new UnEscapeHtml());
kitGT.registerFunction("i18nFormat", new I18nFormat());
// kitGT.registerFunction("sqlEncode", new SqlEncode());
kitGT.registerTag("sql", SqlTag.class);

kitGT.setSharedVars(sharedVars);

return mainGT;
}





转载于:https://www.cnblogs.com/YuyuanNo1/p/9808729.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值