com.jfinal.template.Engine类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(10.3k)|赞(0)|评价(0)|浏览(153)

本文整理了Java中com.jfinal.template.Engine类的一些代码示例,展示了Engine类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Engine类的具体详情如下:
包路径:com.jfinal.template.Engine
类名称: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);
}

相关文章