zoukankan      html  css  js  c++  java
  • velocity masterplate 第一个程序的运行

    昨天就在开始研究java的一个模版引擎,也就是velocity,通过这个模版,我们可以通过简单的模版语言,也就是template language这引用java中定义的对象,这些对象包括变量,属性,方法.

    它主要是应用于web开发,并且可以另界面设计人员和java设计人员同步开发一个遵循MVC架构的web站点,将显示效果与业务逻辑分离出来,将java代码从页面代码中分离出来.为站点的长期维护提供了便利.

    看到一个知识点,当然就想着要试一试了.

    所以上网找来了helloworld的例子.

    第一个例子所需要的工作如下:

    1.创建一个模版文件,也就是.vm文件.代码如下:

    Hello $name! Welcome to $site world!

    这里含有关于两个变量的引用,一个是$name,一个是$site

    2.创建工程文件,也就是一个简单的含有main的静态方法的类,里面有一些使用模版的代码,如下:

    public class VelocityTest{
    	public static void main(String[] args){
    		//初始化模版引擎
    		VelocityEngine ve = new VelocityEngine();
    		ve.init();
    		//获得模版
    		Template t = new Template("hello.vm");
    		//获得上下文
    		VelocityContext vc = new VelocityContext();
    		//为上下文填数据
    		vc.put("name","紫蝶_妖儿");
    		vc.put("site","http://cattylover");
    		//输出
    		StringWriter writer = new StringWriter();
    		t.merge(vc,writer);
    		System.out.println(writer.toString());
    	}
    }

    3.环境的配置,下面这个环境的配置是我自己摸索的,感觉一定还有更科学的方法,只是我不知道.

    先是通过网上提供的地址,去下载velocity的jar包.然后通过eclipse的引用外部的jar功能,把以下三个包引用进来

    image

    为什么说是要引用这三个包呢? 这些都是我通过在编译时抛出来的异常,然后再根据异常信息去逐个引用的.

    这其中其实commons-collections和commons-lang其实都在velocity里包含有了,但如果不重复包含这两个的话,总会抛出异常,而我又还没找到再好的解决方案,所以就只能先这么用着了.

    后来我终于成功啦,呜呜,至少昨晚调了好久都没调出来.

    今天又看到一个文章,原来原来还可以改变这个输出的方式,比如在给一个模版写好上下文之后呢,可以写出到一个html页面.

    哈哈,刚刚那第三个问题解决咯,原来,除了引入velocity包外,另外还有一个velocity-dep包,把这个也引用进来,那么前面的那两个commons包就可以去掉了,哈哈~~

  • 相关阅读:
    写代码的方法与思考
    改变文件上传input file类型的外观
    关于HTML Button点击自动刷新页面的问题解决
    使用 git push 出现error setting certificate verify locations问题记录
    flex使用学习
    jQuery.fn.extend()
    jQuery extend()
    作用域
    私有变量
    模仿块级作用域
  • 原文地址:https://www.cnblogs.com/laizhd/p/2142069.html
Copyright © 2011-2022 走看看