示例代码:
// 创建引擎实例 Engine engine = Engine.getEngine(); // 以下是其它实例化引擎的方法; // Engine engine = Engine.getEngine(classLoader); // Engine engine = Engine.getEngine(classLoader, inputStream); // Engine engine = Engine.getEngine(classLoader, properties); // Engine engine = new Engine(); // 以下是修改各个参数的示例,下列参数使用的都是缺省值,所以在此注释掉了; // 设置模板输入编码,不指定则使用缺省值,缺省值为null // engine.setInputEncoding(null); // 设置模板输入编码为文件系统编码,等同于配置文件中配置的system; // engine.setInputEncoding(System.getProperty("file.encoding")); // 设置模板输出编码,不指定则使用缺省值,缺省值为UTF-8编码 // engine.setOutputEncoding("UTF-8"); // 设置是否使用专用编码器,不指定则使用缺省值,缺省值为false即JDK默认的编码器,专用编码器性能较高 // engine.setSpecifiedEncoder(true); // 设置是否使用模板缓存,不指定则使用缺省值,缺省值为true即开启模板缓存,开启模板缓存后模板只被读取一次 // engine.setUseTemplateCache(true); // 设置资源加载器,不指定则使用缺省值,缺省值为FileResourceLoader // engine.setResourceLoader(new FileResourceLoader()); // 设置静态文本处理器,不指定则使用缺省值,缺省值为null,如果需要可实现ITextProcessor接口并在此设置该实现的实例 // engine.setTextProcessor(null); // 设置断点监视器,不指定则使用缺省值,缺省值为null,如果需要可实现IBreakPointer接口并在此设置该实现的实例 // engine.setBreakPointer(null);
注意事项:
1、模板缓存一般在开发期可将该值设置为false,项目发布时改为true,开启缓存后模板只读取一次; 如在项目发布后需要使更改后的模板生效,则将缓存清理即可,需调用engine.getTemplateCache().clear()方法; 2、指定资源加载器,默认值为FileResourceLoader,更改需调用engine.setResourceLoader方法; 资源加载器是用来加载模板资源的,目前支持File、ClassPath、URL等方式的资源加载,可扩展; 3、指定静态文本处理器,缺省值为null,更改需调用engine.setTextProcessor方法; 静态文本处理是为了提供对静态文本压缩,替换等留出的扩展口,扩展需要实现ITextProcessor接口; 4、不提供引擎单例,使用者需自己实现单例模式及设置引擎属性;