本文整理了Java中com.jfinal.template.Engine
类的一些代码示例,展示了Engine
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Engine
类的具体详情如下:
包路径:com.jfinal.template.Engine
类名称:Engine
[英]Engine Example: Engine.use().getTemplate(fileName).render(...); Engine.use().getTemplate(fileName).renderToString(...);
[中]发动机示例:发动机。使用()。getTemplate(文件名)。渲染(…);发动机使用()。getTemplate(文件名)。renderToString(…);
代码示例来源:origin: jfinal/jfinal
public synchronized void parseSqlTemplate() {
Map<String, Template> sqlTemplateMap = new HashMap<String, Template>(512, 0.5F);
for (SqlSource ss : sqlSourceList) {
Template template = ss.isFile() ? engine.getTemplate(ss.file) : engine.getTemplate(ss.source);
Map<Object, Object> data = new HashMap<Object, Object>();
data.put(SQL_TEMPLATE_MAP_KEY, sqlTemplateMap);
template.renderToString(data);
}
this.sqlTemplateMap = sqlTemplateMap;
}
代码示例来源:origin: JpressProjects/jpress
@Override
public void generate(List<TableMeta> tableMetas) {
System.out.println("Generate base model ...");
System.out.println("Base Model Output Dir: " + baseModelOutputDir);
Engine engine = Engine.create("forService");
engine.setSourceFactory(new ClassPathSourceFactory());
engine.addSharedMethod(new StrKit());
engine.addSharedObject("getterTypeMap", getterTypeMap);
engine.addSharedObject("javaKeyword", javaKeyword);
for (TableMeta tableMeta : tableMetas) {
genBaseModelContent(tableMeta);
}
writeToFile(tableMetas);
}
代码示例来源:origin: looly/hutool
@Override
public Template getTemplate(String resource) {
if(ObjectUtil.equal(ResourceMode.STRING, this.resourceMode)) {
return EnjoyTemplate.wrap(this.engine.getTemplateByString(resource));
}
return EnjoyTemplate.wrap(this.engine.getTemplate(resource));
}
代码示例来源:origin: jfinal/jfinal
public SqlKit(String configName, boolean devMode) {
this.configName = configName;
this.devMode = devMode;
engine = new Engine(configName);
engine.setDevMode(devMode);
engine.setToClassPathSourceFactory();
engine.addDirective("namespace", NameSpaceDirective.class);
engine.addDirective("sql", SqlDirective.class);
engine.addDirective("para", ParaDirective.class);
engine.addDirective("p", ParaDirective.class); // 配置 #para 指令的别名指令 #p,不建议使用,在此仅为兼容 3.0 版本
}
代码示例来源:origin: jfinal/jfinal
protected void initEngine() {
engine = new Engine();
engine.setToClassPathSourceFactory(); // 从 class path 内读模板文件
engine.addSharedMethod(new StrKit());
engine.addSharedObject("getterTypeMap", getterTypeMap);
engine.addSharedObject("javaKeyword", javaKeyword);
}
代码示例来源:origin: jfinal/jfinal
/**
* 设置 ISourceFactory 用于为 engine 切换不同的 ISource 实现类
*
* <pre>
* 配置为 ClassPathSourceFactory 时特别注意:
* 由于在 initServletContext() 通过如下方法中已设置了 baseTemplatePath 值:
* setBaseTemplatePath(servletContext.getRealPath("/"))
*
* 而 ClassPathSourceFactory 在 initServletContext() 方法中设置的
* 值之下不能工作,所以在本方法中通过如下方法清掉了该值:
* setBaseTemplatePath(null)
*
* 这种处理方式适用于绝大部分场景,如果在使用 ClassPathSourceFactory 的同时
* 仍然需要设置 baseTemplatePath,则在调用该方法 “之后” 通过如下代码再次配置:
* setBaseTemplatePath(value)
* </pre>
*/
public void setSourceFactory(ISourceFactory sourceFactory) {
if (sourceFactory instanceof ClassPathSourceFactory) {
engine.setBaseTemplatePath(null);
}
engine.setSourceFactory(sourceFactory);
}
代码示例来源:origin: io.enoa/enoa-template-enjoy
this.engine = Engine.use(cfg.name());
if (this.engine == null)
this.engine = Engine.create(cfg.name());
this.engine.setBaseTemplatePath(cfg.viewPath());
this.engine.setDevMode(cfg.debug());
if (TextKit.blankn(cfg.datePattern()))
this.engine.setDatePattern(cfg.datePattern());
this.engine.setEncoding(cfg.charset().name());
this.engine.setOutputDirectiveFactory(cfg.outputDirectiveFactory());
this.engine.setReloadModifiedSharedFunctionInDevMode(cfg.reloadModifiedSharedFunctionInDevMode());
if (cfg.sourceFactory() != null)
this.engine.setSourceFactory(cfg.sourceFactory());
this.engine.setWriterBufferSize(cfg.bufferSize());
if (CollectionKit.notEmpty(cfg.sharedFunctionSources()))
cfg.sharedFunctionSources().forEach(f -> this.engine.addSharedFunction(f));
Stream.of(cfg.sharedFunctionString()).forEach(f -> this.engine.addSharedFunction(f));
Stream.of(cfg.directives()).forEach(d -> this.engine.addDirective(d.name(), d.clazz()));
Stream.of(cfg.sharedMethods()).forEach(s -> this.engine.addSharedMethod(s));
Stream.of(cfg.sharedObjects()).forEach(s -> this.engine.addSharedObject(s.name(), s.value()));
代码示例来源:origin: looly/hutool
/**
* 创建引擎
*
* @param config 模板配置
* @return {@link GroupTemplate}
*/
private static com.jfinal.template.Engine createEngine(TemplateConfig config) {
Assert.notNull(config, "Template config is null !");
final com.jfinal.template.Engine engine = com.jfinal.template.Engine.create("Hutool-Enjoy-Engine");
engine.setEncoding(config.getCharset().toString());
switch (config.getResourceMode()) {
case CLASSPATH:
engine.setToClassPathSourceFactory();
engine.setBaseTemplatePath(null);
break;
case FILE:
engine.setSourceFactory(new FileSourceFactory());
break;
default:
break;
}
return engine;
}
}
代码示例来源:origin: JpressProjects/jpress
@Override
protected void genBaseModelContent(TableMeta tableMeta) {
Kv data = Kv.by("serviceImplPackageName", baseModelPackageName);
data.set("generateChainSetter", generateChainSetter);
data.set("tableMeta", tableMeta);
data.set("basePackage", basePackage);
data.set("modelPackage", modelPackage);
Engine engine = Engine.use("forServiceImpl");
tableMeta.baseModelContent = engine.getTemplate(template).renderToString(data);
}
代码示例来源:origin: JpressProjects/jpress
private void genPomXml() {
String modulePath = basePath;
String modelPath = basePath + "/module-" + moduleName + "-model";
String webPath = basePath + "/module-" + moduleName + "-web";
String serviceApiPath = basePath + "/module-" + moduleName + "-service-api";
String serviceProviderPath = basePath + "/module-" + moduleName + "-service-provider";
File modelFile = new File(modelPath);
File webFile = new File(webPath);
File serviceApiFile = new File(serviceApiPath);
File serviceProviderFile = new File(serviceProviderPath);
makeSrcDirectory(modelFile);
makeSrcDirectory(webFile);
makeSrcDirectory(serviceApiFile);
makeSrcDirectory(serviceProviderFile);
Map map = new HashMap();
map.put("moduleName", moduleName);
Engine engine = new Engine();
engine.setToClassPathSourceFactory(); // 从 class path 内读模板文件
engine.addSharedMethod(new StrKit());
engine.getTemplate("io/jpress/codegen/templates/pom_module_template.jf").render(map, new File(modulePath, "pom.xml"));
engine.getTemplate("io/jpress/codegen/templates/pom_model_template.jf").render(map, new File(modelFile, "pom.xml"));
engine.getTemplate("io/jpress/codegen/templates/pom_web_template.jf").render(map, new File(webFile, "pom.xml"));
engine.getTemplate("io/jpress/codegen/templates/pom_service_api_template.jf").render(map, new File(serviceApiFile, "pom.xml"));
engine.getTemplate("io/jpress/codegen/templates/pom_service_provider_template.jf").render(map, new File(serviceProviderFile, "pom.xml"));
}
代码示例来源:origin: jfinal/jfinal
protected void initEngine() {
engine = new Engine();
engine.setToClassPathSourceFactory();
engine.addSharedMethod(new StrKit());
}
代码示例来源:origin: pkanyue/jboot-admin
@Override
public void onJfinalEngineConfig(Engine engine) {
engine.setDevMode(true);
AppInfo app = Jboot.config(AppInfo.class);
engine.addSharedObject("APP", app);
engine.addSharedObject("RESOURCE_HOST", app.getResourceHost());
}
代码示例来源:origin: yjjdick/sdb-mall
Engine.use()
.setBaseTemplatePath(baseTemplatePath)
.getTemplate(templateFileName)
.render(kv, output);
代码示例来源:origin: jfinal/jfinal
/**
* Get template by string content and do not cache the template
*/
public Template getTemplateByString(String content) {
return getTemplateByString(content, false);
}
代码示例来源:origin: yangfuhai/jboot
@Override
public void configEngine(Engine engine) {
/**
* now 并没有被添加到默认的指令当中
* 查看:EngineConfig
*/
engine.addDirective("now", NowDirective.class);
List<Class> directiveClasses = ClassScanner.scanClass();
for (Class clazz : directiveClasses) {
JFinalDirective jFinalDirective = (JFinalDirective) clazz.getAnnotation(JFinalDirective.class);
if (jFinalDirective != null) {
engine.addDirective(jFinalDirective.value(), clazz);
}
JFinalSharedMethod sharedMethod = (JFinalSharedMethod) clazz.getAnnotation(JFinalSharedMethod.class);
if (sharedMethod != null) {
engine.addSharedMethod(ClassKits.newInstance(clazz));
}
JFinalSharedStaticMethod sharedStaticMethod = (JFinalSharedStaticMethod) clazz.getAnnotation(JFinalSharedStaticMethod.class);
if (sharedStaticMethod != null) {
engine.addSharedStaticMethod(clazz);
}
JFinalSharedObject sharedObject = (JFinalSharedObject) clazz.getAnnotation(JFinalSharedObject.class);
if (sharedObject != null) {
engine.addSharedObject(sharedObject.value(), ClassKits.newInstance(clazz));
}
}
JbootAppListenerManager.me().onJfinalEngineConfig(engine);
}
代码示例来源:origin: JpressProjects/jpress
private static void doSendEmail(Article article, ArticleComment comment) {
String emailTemplate = JPressOptions.get("article_comment_email_notify_template");
String sendTo = JPressOptions.get("article_comment_email_notify_address");
Map<String, Object> paras = new HashMap();
paras.put("article", article);
paras.put("comment", comment);
String content = Engine.use().getTemplateByString(emailTemplate).renderToString(paras);
Email email = Email.create();
email.content(content);
email.subject("有人评论你的文章:" + article.getTitle());
email.to(sendTo);
email.send();
}
代码示例来源:origin: jfinal/jfinal
/**
* 初始化 baseTemplatePath 值,启用 ClassPathSourceFactory 时
* 无需设置 baseTemplatePath 为 web 根路径
*/
private void initBaseTemplatePath(ServletContext servletContext) {
if (engine.getSourceFactory() instanceof ClassPathSourceFactory) {
// do nothing
} else {
if (StrKit.isBlank(engine.getBaseTemplatePath())) {
String path = servletContext.getRealPath("/");
engine.setBaseTemplatePath(path);
}
}
}
代码示例来源:origin: jfinal/jfinal
/**
* Set the default base template path and devMode by JFinal before configEngine(engine) invoked
* They can be reconfigured in configEngine(engine)
*/
private static void initEngine() {
engine.setDevMode(constants.getDevMode());
// 避免在某些环境下 webRootPath 值为 blank 时无法启动项目
if (StrKit.notBlank(PathKit.getWebRootPath())) {
engine.setBaseTemplatePath(PathKit.getWebRootPath());
}
}
代码示例来源:origin: jfinal/jfinal
/**
* 设置为 ClassPathSourceFactory 的快捷方法
*/
public Engine setToClassPathSourceFactory() {
return setSourceFactory(new ClassPathSourceFactory());
}
代码示例来源:origin: jfinal/jfinal
/**
* 设置模板基础路径
*/
public void setBaseTemplatePath(String baseTemplatePath) {
engine.setBaseTemplatePath(baseTemplatePath);
}
内容来源于网络,如有侵权,请联系作者删除!