7.3. 方法

方法在JAVA代码中定义,并作一些有用的事情,比如运行一个计算器或者作出一个决定。方法是实际上也是引用,由前导符"$"后跟一个VTL 标识符,后跟一个VTL 方法体(Method Body)。 VTL 方法体由一个VTL 标识符后跟一个左括号,再跟可选的参数列表,最后是右括号。下面是一些有效的方法示例:

  1. $customer.getAddress()
  2. $purchase.getTotal()
  3. $page.setTitle( "My Home Page" )
  4. $person.setAttributes( ["Strange", "Weird", "Excited"] )

前面两个例子— $customer.getAddress()和$purchase.getTotal() – 看起来有点象上面属性一节中所用的样子,$customer.Address和$purchase.Total.。如果你想这些例子在某些方面相关,那你就对了。

VTL 属性可以为VTL方法用作简略标记。属性$customer.Address具有和方法$customer.getAddress() 完全一样的效果。属性和方法的主要不同点是方法中可以添加参数列表。

简略标记可以用在下面的方法中:

  1. sun.getPlanets()
  2. $annelid.getDirt()
  3. $album.getPhoto()

我们或许希望方法可以为我们放回属于太阳系的行星的名字,喂养我们的蚯蚓,或者从相册中返回一张照片。下面只有长的那个标记是可以工作的方法:

  1. $sun.getPlanet( ["Earth", "Mars", "Neptune"] )
  2. ## 不能将参数列表传递给$sun.Planets
  3. $sisyphus.pushRock()
  4. ## Velocity 假定我意思是$sisyphus.getRock()
  5. $book.setTitle( "Homage to Catalonia" )
  6. ## 不能传递一个参数列表