`

Velocity-新手笔记(2011.4.8)

阅读更多
   兄弟们太不给力,居然没人回复   那就我回答一下昨天自己提出的几个问题(今天才明白一点):
1、pom.xml文件是配置当前project所依赖的本地库或远程库吗?
答:是的,pom.xml配置文件时配置项目所依赖的库信息

2、mvn eclipse:eclipse命令有什么作用?
答:将maven所构建的项目编译成eclipse项目,此时并会在user\.m2\repository路径下生成jar文件

3、user\.m2\repository路径下的内容是什么时候生成的?
答:运行mvn eclipse:eclipse命令的时候

4、jar包的依赖关系调用有点像远程调用,可以这样理解吗?具体是怎么实现的?
答:我觉得可以这样理解,但是不知道怎么实现的。


另外,下午师傅给了一份《Velocity快速指南》,看完了,现在总结一下主要内容:
1、注释的方式:1、##(注释一行)     2、#*    *#(注释一段,当注释行数较多时用此方法更合适)      3、#**    *#(注释一段,主要用于设置一些文档的作者、版本等信息)。

2、在VTL中有三种引用的类型:变量、属性和方法。在VTL中所有的类型在模板中都会解析为String


3、变量既可以通过set指令赋值(FE),也可以通过Java代码赋值(RD)。

4、静引用:$email,如果该值为空,则显示$email,否则显示它的值。此时如果我们用$!email,则不会出现前面的情况,如果值为空,则给空值。

5、在赋值过程中,当右值是一个为空或未定义的属性或方法的引用时,左值将不会被赋值(并不是赋值为null),这个非常容易搞混。(例如:#set( $value = $foo + 1 ))

6、在用#set指令时,双引号“”包围的文本中如果含有变量引用是会被解析的,但是以单引号’’包围的字符串将不会被解析。默认情况下,用单引号避免文本被解析的功能是开启的,但这个默认设置也可以在velocity.properties中修改,例如stringliterals.interpolate = false。文本不被解析的另一种方式是使用#literal命令

7、#include指令可以将本地文件导入到模板中该条指令所在位置,如果要导入的文件不只一个,可以用逗号”,”隔开。#parse和#include类似,但是它允许导入的本地文件中包含有VTL指令,Velocity将会解析VTL指令;任何使用#parse导入的文件都必须在TEMPLATE_ROOT下,#parse不同于#include,#parse指令只允许带有一个参数。

8、#stop指令可以停止模板引擎的执行

9、定义宏:
#macro(d)
         <tr><td></td></tr>
#end
括号中的d是所定义的宏的标识符(简单的说就是名字),我们可以这样调用一个宏:
#d()
宏是可以带任意数量的参数,例如:
#macro( tablerows $color $somelist )
#foreach( $something in $somelist )
    <tr><td bgcolor=$color>$something</td></tr>
#end
#end
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics