6.2 引擎配置

    1. 如果模板中通过 #define 指令定义了 template function,并且希望这些 template function 可以在其它模板中直接调用的话,可以进行如下配置:
    1. // 添加共享函数,随后可在任意地方调用这些共享函数
    2. me.addSharedFunction("/view/common/layout.html");
      1. public void configEngine(Engine me) {
      2. me.setDevMode(true);
      3.  
      4. me.setBaseTemplatePath(null);
      5. me.setSourceFactory(new ClassPathSourceFactory());
      6.  
      7. me.addSharedFunction("/view/common/layout.html");
      8. }
      1. 通过上面的 me.setSourceFactory(...) 可以推测出来,还可以通过实现ISourceFactoryISource 扩展出从任何地方加载模板文件的功能,目前已有用户实现 DbSource 来从数据库加载模板的功能。
      1. ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
      2. Engine engine = arp.getEngine();
      3.  
      4. // 上面的代码获取到了用于 sql 管理功能的 Engine 对象,接着就可以开始配置了
      5. engine.setSourceFactory(new ClassPathSourceFactory());
      6. engine.addSharedMethod(new StrKit());
      7.  
      8. me.add(arp);
      9. }
        1. Eclipse 下开发时,可以将 Validation 配置中的 Html Syntax Validator 中的自动验证去除勾选,因为 eclipse 无法识别 JFinal Template Engine 使用的指令,从而会在指令下方显示黄色波浪线,影响美观。后续会提供相关插件给予支持,具体的配置方式见下图: