This commit is contained in:
Looly 2019-09-16 18:40:22 +08:00
parent 2268831ed5
commit acb54849dd
3 changed files with 31 additions and 30 deletions

View File

@ -15,7 +15,7 @@ import cn.hutool.extra.template.TemplateEngine;
/**
* Enjoy库的引擎包装
*
*
* @author looly
* @since 4.1.10
*/
@ -25,6 +25,7 @@ public class EnjoyEngine implements TemplateEngine {
private ResourceMode resourceMode;
// --------------------------------------------------------------------------------- Constructor start
/**
* 默认构造
*/
@ -34,7 +35,7 @@ public class EnjoyEngine implements TemplateEngine {
/**
* 构造
*
*
* @param config 模板配置
*/
public EnjoyEngine(TemplateConfig config) {
@ -44,7 +45,7 @@ public class EnjoyEngine implements TemplateEngine {
/**
* 构造
*
*
* @param engine {@link com.jfinal.template.Engine}
*/
public EnjoyEngine(com.jfinal.template.Engine engine) {
@ -54,7 +55,7 @@ public class EnjoyEngine implements TemplateEngine {
@Override
public Template getTemplate(String resource) {
if(ObjectUtil.equal(ResourceMode.STRING, this.resourceMode)) {
if (ObjectUtil.equal(ResourceMode.STRING, this.resourceMode)) {
return EnjoyTemplate.wrap(this.engine.getTemplateByString(resource));
}
return EnjoyTemplate.wrap(this.engine.getTemplate(resource));
@ -62,7 +63,7 @@ public class EnjoyEngine implements TemplateEngine {
/**
* 创建引擎
*
*
* @param config 模板配置
* @return {@link GroupTemplate}
*/
@ -72,23 +73,23 @@ public class EnjoyEngine implements TemplateEngine {
engine.setEncoding(config.getCharsetStr());
switch (config.getResourceMode()) {
case STRING:
// 默认字符串类型资源:
break;
case CLASSPATH:
engine.setToClassPathSourceFactory();
engine.setBaseTemplatePath(config.getPath());
break;
case FILE:
engine.setSourceFactory(new FileSourceFactory());
engine.setBaseTemplatePath(config.getPath());
break;
case WEB_ROOT:
engine.setSourceFactory(new FileSourceFactory());
engine.setBaseTemplatePath(FileUtil.getAbsolutePath(FileUtil.getWebRoot()));
break;
default:
break;
case STRING:
// 默认字符串类型资源:
break;
case CLASSPATH:
engine.setToClassPathSourceFactory();
engine.setBaseTemplatePath(config.getPath());
break;
case FILE:
engine.setSourceFactory(new FileSourceFactory());
engine.setBaseTemplatePath(config.getPath());
break;
case WEB_ROOT:
engine.setSourceFactory(new FileSourceFactory());
engine.setBaseTemplatePath(FileUtil.getAbsolutePath(FileUtil.getWebRoot()));
break;
default:
break;
}
return engine;

View File

@ -9,28 +9,28 @@ import cn.hutool.extra.template.AbstractTemplate;
/**
* Engoy模板实现
*
*
* @author looly
* @since 4.1.9
*/
public class EnjoyTemplate extends AbstractTemplate implements Serializable{
private static final long serialVersionUID = -8157926902932567280L;
public class EnjoyTemplate extends AbstractTemplate implements Serializable {
private static final long serialVersionUID = 1L;
private com.jfinal.template.Template rawTemplate;
/**
* 包装Enjoy模板
*
*
* @param EnjoyTemplate Enjoy的模板对象 {@link com.jfinal.template.Template}
* @return {@link EnjoyTemplate}
*/
public static EnjoyTemplate wrap(com.jfinal.template.Template EnjoyTemplate) {
return (null == EnjoyTemplate) ? null : new EnjoyTemplate(EnjoyTemplate);
}
/**
* 构造
*
*
* @param EnjoyTemplate Enjoy的模板对象 {@link com.jfinal.template.Template}
*/
public EnjoyTemplate(com.jfinal.template.Template EnjoyTemplate) {

View File

@ -101,7 +101,7 @@ public class TemplateUtilTest {
Template template = engine.getTemplate("#(x + 123)");
String result = template.render(Dict.create().set("x", 1));
Assert.assertEquals("124", result);
//ClassPath模板
engine = new EnjoyEngine(new TemplateConfig("templates", ResourceMode.CLASSPATH));
template = engine.getTemplate("enjoy_test.etl");