<!--MyVelocity-->
<servlet>
<servlet-name>ve</servlet-name>
<servlet-class>MyVelocity01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ve</servlet-name>
<url-pattern>/ve</url-pattern>
</servlet-mapping>
重新部署,浏览器访问:8080/todo/ve可以看到效果。
简单介绍velocity
velocity是一个基于java的模板引擎,有三种文件加载模板方式: 1、从文件路径加载 2、从类路径(MyVelocity01.java使用该方法) 3、从jar文件加载 开始接触velocity时可能会在加载模板上遇到问题。
如何向模板文件传递变量: 模板本身可以定义变量,例如在test.vm中定义了变量$this,java代码也可以给模板传递变量,例如test.vm中的变量$name便是VelocityContext实例传递过去的。同时velocity也支持迭代对象,例如: 我们在MyVelocity01.java中导入java.util.Vector,将代码:
复制代码 代码如下:
context.put("name", "test");
改为:
复制代码 代码如下:
Vector v = new Vector();
v.addElement("Harry");
v.addElement("John");
String[] names = {"Harry", "John"};
context.put("names1", v);
context.put("names2", names);
将test.vm内容改为:
复制代码 代码如下:
<h1>hello</h1>
#foreach($name in $names1)
$name <br/>
#end
#foreach($name in $names2)
$name <br/>
#end
velocity还支持map容器,支持使用#include("")引入静态模板,#parse("模板名")引入动态模板。
如果想不开要用java MVC写网站的话,使用servlet + velocity是一个小巧灵活的选择。
您可能感兴趣的文章: