freemaker
定义
1、不能编写java代码,严格mvc分离
2、对jsp标签支持良好
3、内置大量常用功能,且宏定义(类似jsp标签)非常方便,比jsp tag要方便
4、el
velocity
定义
1、不能编写java代码,严格mvc分离
2、性能属三者中最好的,相对于普通页面
3、el
使用
1、# 标记脚本语言,Engine会判断是否为VTL声明
2、$ 标记对象
3、{} 标记变量
4、! 把不存在的变量强制转换为空白
5、#set($nickname="小花") ## 变量赋值
6、##循环
#foreach ($i in $items)
$!{i} $!{velocityCount}
#end
7、#macro ## 宏定义
8、#stop ## 终止命令
9、#include ## 不编译,一次可引入多个
10、#parse ## 编译,一次只能引入一个
jsp
定义
1、可写java代码,使用不当易破环mvc结构
2、支持jsp标签,jsp tag,丰富的标签库
3、支持表达式语言,el
4、编译成class文件,性能良好