表现层技术主要有三种:jsp、freemarker、velocity
velocity是较早出现的用于代替jsp的模板语言
优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能良好,据说比jsp性能还要好些
3、使用表达式语言,据说jsp的表达式语言就是学velocity的
缺点:
1、不是官方标准 2、用户群体和第三方标签库没有jsp多 3、对jsp标签支持不够好
详细语法介绍: https://www.cnblogs.com/avivaye/p/4418878.html
一般web开发中使用模板语言的场景:邮件,生成合同,协议等
测试项目
pom.xml:引入必须的包
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
测试类:
@RunWith(SpringRunner.class)
@SpringBootTest
public class VelocityApplicationTests {
@Test
public void contextLoads() {
//context:就是文本,实际应用此文本可以从文件中读取或者数据库中读取
String context = "名称:$realName";
VelocityEngine velocityEngine = new VelocityEngine();
VelocityContext velocityContext = new VelocityContext();
//给$realName 赋值 $realName 意思是如果realName 为null 页面显示空值,其他语法参考上面的连接
velocityContext.put("realName", "ethan");
StringWriter templateWriter = new StringWriter();
velocityEngine.evaluate(velocityContext, templateWriter, "", context);
System.out.println(templateWriter.toString());
}
}
运行输出结果:
