# template-engine
**Repository Path**: pesking/template-engine
## Basic Information
- **Project Name**: template-engine
- **Description**: 模板引擎
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2023-12-09
- **Last Updated**: 2025-12-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#### 模板引擎模块
为了解决多种模板引擎在实际应用中存在的接口不一致问题,我们开发了一个模板引擎模块,其核心目标是提供一个标准化的统一访问接口。该模块能够智能识别模板内容前缀,从而判断并调用相应的模板引擎进行处理。
该模板引擎模块的引入,极大地简化了模板引擎的使用和管理。开发者无需关心底层模板引擎的具体实现和接口差异,只需通过模块提供的统一接口传递模板数据,模块将自动根据模板内容的特征识别并选择最合适的模板引擎进行渲染。
此外,模块的设计允许灵活的扩展和定制,能够适应不同的业务需求和技术环境。无论是传统的文本模板,还是复杂的HTML模板,或者是特定格式的数据模板,该模块都能够提供有效的支持。
通过这种方式,模板引擎模块不仅提高了开发效率,降低了维护成本,还增强了系统的可扩展性和灵活性。它是构建高效、可维护应用程序的理想选择。
复制再试一次分享
#### 软件架构

#### 安装教程
1. 在settings.xml文件增加仓库地址
```XML
pesking_public_release
pesking_public_release
http://mvn.peskingsoft.com:8081/repository/maven-public/
pesking_public_release
```
2. 在pom.xml文件中增加配置
```XML
com.pesking.framework
pesking-dependencies
2.27.8
import
pom
```
引入模板引擎包
```XML
com.pesking.framework
template-engine
```
本模块支持两种模板引擎,一种是freemarker引擎,一种是javascript引擎。也可以扩展其他的模板引擎,只需要实现接口
```java
com.pesking.core.template.TemplateEngineExecuter
```
```java
package com.pesking.core.template;
import com.pesking.core.util.FreemarkerUtil;
import java.util.Map;
public class FreemarkerTemplateEngineExecutor implements TemplateEngineExecuter{
@Override
public String getName() {
return "freemarker";
}
@Override
public String parseTemplate(String template, Map parameter) {
return FreemarkerUtil.parseTemplate(template,parameter);
}
}
```
然后在resources/META-INF/services/,创建一个文件com.pesking.core.template.TemplateEngineExecuter,文件内容:
```
com.pesking.core.template.FreemarkerTemplateEngineExecutor
```
#### 使用说明
1. freemarker模板示例
```java
String script = "-1234242";
System.out.println(TemplateEngineManage.parseTemplate(script,new HashMap<>()));
```
2. 使用javascript模板示例
```java
String script = "--javascript-- \nreturn '122223';";
System.out.println(TemplateEngineManage.parseTemplate(script,new HashMap<>()));
```
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)