velocity翻译成中文就是“速度”的意思,它的缩写“v”就是物理学中代表速度的符号。由它的名字可以想象出它的设计者对它有什么期望吧。毕竟有时候使用JSP来实现view层对于开发者来说是件很麻烦又费时的事情。velocity就是为开发者节约大量view层开发时间而准备的视图技术。它使用模板文件来显示视图界面。除了它自身的书写格式外,模板文件中其他代码就是普通的html代码。因此它也是实现松耦合,让美工和开发人员各司其职进行view层开发
在Struts2中使用velocity技术,首先要在项目中导入velocity的jar包:
velocity-1.5.jar velocity-dep-1.5.jar velocity-tools-view-1.3.jar
<html>
<head>
<title>Velocity使用范例</title>
<meta http-equiv="content-type" content="text/html; charset=GB2312"/>
</head>
<body>
<h3 align="left">
Velocity使用范例
</h3>
<h1>装修材料信息列表</h1>
<table border>
<tr align="center">
<td>材料名</td>
<td>材料价格(单位:元)</td>
<td>材料库存量(单位:个)</td>
</tr>
#foreach($Material in $mList)
<tr align="center">
<td>$Material.material</td>
<td>$Material.bid</td>
<td>$Material.mount</td>
</tr>
#end
</table>
</body>
</html>
package com.example.struts.action;
import java.util.ArrayList;
import java.util.List;
import model.Material;
import com.opensymphony.xwork2.ActionSupport;
public class VelocityAction extends ActionSupport {
private List mList;
public String execute() throws Exception{
mList = new ArrayList();
for(int i=0;i<4;i++){
Material m = new Material();
m.setMaterial("材料"+(i+1));
m.setMount(10*(i+1));
m.setBid(1.0+(i+1));
mList.add(m);
}
return SUCCESS;
}
public List getMList() {
return mList;
}
public void setMList(List list) {
mList = list;
}
}
<package name="C06.1" extends="struts-default">
<action name="velocity"
class="action.VelocityAction">
<result name="success" type="velocity">/velocity/show.vm</result>
</action>
</package>
#支持本地化的资源文件名定义
struts.i18n.encoding=gb2312
l “#”标识:该标识用来表明velocity中的控制语句。比如“#if”、“#foreach”等,都是用来控制流程转向的。
l “$”标识:该标识来表示对象或变量。比如示例中的“$Material”。如果这些对象还有自己的属性,则可以在其后面再加“.”,如示例中的“$Material.material”。
l “{}”标识:该标识用来为某对象或变量赋具体的值。比如“{frank}”
l “!”标识:假设某变量值为null或者还没被定义。则在该变量前加上“!”,这样在页面上调用该变量之处一律显示为空白即“ ”。
l “#”标识:velocity语言的注释标识。
分享到:
相关推荐
一个很简单容易上手的struts2与velocity集成 实例;很方便初学者进入struts2与velocity集成 学习
一份Struts2中Velocity模板的程序。
一个简单的struts2 整合 velocity 模板的例子
Struts2+velocity 整合时所用的jar包 资源目录如下 commons-collections-3.1 commons-digester-2.0 commons-fileupload-1.2.2 commons-lang-2.5 freemarker-2.3.16 ognl-3.0.1 oro-2.0.8 struts2-core-2.2.3.1 ...
struts2与velocity整合的项目例子 写了各种使用方法
Struts2+velocity jar
commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.13.jar struts2-core-2.1.6.jar xwork-2.1.2.jar
Struts2与Velocity模板
使用了Struts结构和Velocity模板技术的BLOG
Struts2 整合 velocity最简单工程 最少的jar包 SSH Velocity
struts2+velocity jar包
struts2+spring+velocity简单的扩展实例,下载下来就能运行。后续将整合各项技术。敬请期待。
这是我自己整合struts2结合velocity的完整实例,含源码完整,下载几个使用,希望对大家有帮助
velocity+struts2实例,适合开发和整合使用,你可以发现很多时候都是可以复用或者优化的方法,只要你用心去修改、
完全结合最新的SSH框架,jquery jeasyui velocity等特性,进行生意下拉列表的实现,避免了复杂性的SELECT OPTIONS等代码编写
struts2结合velocity做为表现层的整合框架,详细演示了velocity的标签用法,不需要数据库支持,Action层模拟数据。
自己写的一个maven管理的spring+struts2+ibatis+velocity实例。项目已经打包好了,直接导入部署即可。
java 采用struts2+spring+velocity模板项目。
文档详细描述了Velocity整合struts2步骤,以及velocity的语法规范