Velocity是一种Java模版引擎技术,该项目由Apache提出。因为非常好用,和工作中有啥用,所以我在在理简单的入门一下。

网上找了很多教程,写的不是很明白,要么就是全部拷贝下来时候运行不起来。

在这里我来写一份比较完成的配置 struts2 + Velocity的。相信能用到这个模板引擎的人,对 struts都会有一定的了解,这里就不细说了。

第一步:

导入包

-- velocity-1.7.jar

-- velocity-tools-1.4.jar

第二步:

web.xml 因为这里是用的struts2 所以写入的是它的配置

 <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>

第三步:struts.xml 这里其实并没有写其他的,只是用struts的动态方法进行调用。

通过制定type = "velocity" 确定返回的页面的类型。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 动态方法调用打开,可以通过感叹号调用action里面的方法 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="default" extends="struts-default" namespace="/">
<!-- to welPage -->
<action name="*" class="com.ape.action.{1}Action">
<result type="velocity">/{1}.vm</result>
</action>
</package>
</struts>

第四步:TestAction.java

注意:这里如果要在Vm页面进行输入变量,要将变量进行get set 封装下。不然输出不了

package com.ape.action;

import com.opensymphony.xwork2.ActionSupport;

public class TestAction extends ActionSupport {  

    /**
*
*/
private static final long serialVersionUID = 9061932498262928875L;
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String test() {
name = "Hello";
return SUCCESS;
} }

第六步:Test.vm

<html>
<head>
<title>Insert title here</title>
</head>
<body>
#set($world="world")
${name}-${world}
</body>
</html>

代码完毕:访问:http://localhost:8080/VelocityS/Test!test.action

源码:http://pan.baidu.com/s/1nv0Aevv

Velocity 入门(一)的更多相关文章

  1. Velocity入门系列

    Velocity介绍 Velocity是一个java模板引擎,通过简洁的语法可以返回动态内容给浏览器使用,本系类是基于velocity官方文档(就是照着翻译,同时对不清楚的地方进行详细讲解),其实技术 ...

  2. velocity入门

    http://wenku.baidu.com/view/b401add728ea81c758f57882.html?re=view package cn.edu; import java.io.Fil ...

  3. Velocity魔法堂系列一:入门示例

    一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本处理能力.而且Velocity被移植到不 ...

  4. Velocity魔法堂系列一:入门示例(转)

    Velocity魔法堂系列一:入门示例 一.前言 Velocity作为历史悠久的模板引擎不单单可以替代JSP作为Java Web的服务端网页模板引擎,而且可以作为普通文本的模板引擎来增强服务端程序文本 ...

  5. Velocity脚本入门教程

    下面资料整理自网络 一.Velocity介绍 Velocity是Apache公司的开源产品,是一套基于Java语言的模板引擎,可以很灵活的将后台数据对象与模板文件结合在一起,说的直白一点,就是允许任何 ...

  6. Velocity快速入门教程-脚本语法详解(转)

    1.变量 (1)变量的定义: #set($name = "hello")      说明:velocity中变量是弱类型的. 当使用#set 指令时,括在双引号中的字面字符串将解析 ...

  7. Velocity模板引擎入门

    类似于PHP中的Smarty,Velocity是一个基于Java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代 ...

  8. Velocity(1)——初步入门

    1.变量 (1)变量的定义: 1 #set($name = "hello") 说明:velocity中变量是弱类型的. 2 3 当使用#set 指令时,括在双引号中的字面字符串将解 ...

  9. Velocity快速入门

    Velocity 介绍 Velocity是一个基于java的模板引擎.它允许任何人使用简单但功能强大的模板语言引用Java代码中定义的对象. 当Velocity用于web开发时,web设计人员可以与J ...

随机推荐

  1. Matlab read_grib.r4 安装新方法(转自:http://blog.sina.com.cn/s/blog_9f36648b010179s7.html)

    最近,打算用Matlab处理些GRIB格式的文件,需要在Matlab中添加read_grib.m文件,其实相当于是添加一个工具箱.read_grib.m的下载见:http://www.renci.or ...

  2. java 写的能够响应浏览器请求的 http 服务器

    这只是一个小Demo,话几十分钟搞出来的. 不废话先上代码. 首先是服务端的 package com.cnryb; import java.io.IOException; import java.io ...

  3. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.1.1

    Given any $k$-tupel of linearly independent vectors $X$ as above, there exists a $k$-tuple $Y$ biort ...

  4. iframe 处理

    import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org ...

  5. 学习Python前序

    最近一直在学习有关Python语言.回顾的时候,发现学习过程中的有些东西被遗漏了.故记录在此......加深记忆,方便查找. The reason:     语言如此多,why choose Pyth ...

  6. PV,UV,IP

    参加了DTCC归来之后,各大电商技术大牛都会自豪的分享一下自己公司网站的PV,流量等等.当时也是一知半解,回来之后赶紧查了查,也算是扫扫盲. 以下摘自网络中,自己稍稍做了整理,对于PV,流量和带宽的理 ...

  7. 【解决】Oracle数据库实现ID自增长

    Oracle数据库要实现ID的自增长,需要创建一个序列和触发器来实现,略微有一点点麻烦,但是也是可以解决的. 直接上地址,首先,http://www.wlcrane.com/article.aspx? ...

  8. HW4.2

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  9. HDOJ-ACM1023(JAVA)

    题意:输入栈的大小,输出可能的出栈顺序的个数. 这道题,如果做了1022,那就只要在上面改改就行了, 第一想法是加上全排列-----结果是正确的,但是绝对会超时 验证性的实现了:(Time Limit ...

  10. suse安装软件命令

    zypper se xxxxx 是搜索软件包 zypper in xxxxx 跟apt-get install xxxx等价 zypper rm xxxx 删除 zypper up xxxx 更新软件