【问题标题】:Velocity Template Language dynamic variable速度模板语言动态变量
【发布时间】:2013-03-02 17:07:30
【问题描述】:

我阅读了所有的Velocity user guide,但我不明白如何访问动态变量。

情景:

#set ($u14 = "MARCOS SANCHEZ")
#set ($var = "u14")

如何使用$var 访问$u14

在php中:

$$var (vm fail)

预期结果:MARCOS SANCHEZ

谢谢。

【问题讨论】:

  • 我不明白你的目标是什么。不能直接访问$u14吗?
  • 是的,但我不知道 u14。我收到带有另一个变量的数字。
  • 你知道它,因为你设置了它。我认为您需要发布更好的代码
  • 我 #parse 一个带有 20 #set ($u14 = “MARCOS SANCHEZ”) 的常量文件,像这样.....然后我有一个问题,我有 u14、u15、仅 u16 数字...我需要常量的名称。
  • 这是不可能使用模板的,因为只能通过反射来完成。但是大多数反射方法在速度中是不可接受的。

标签: velocity dynamic-variables vtl


【解决方案1】:

您可以使用数组或地图:

## initialize the map
#set($map = {})

## add an entry
$!map.put("u14", "MARCOS")

#set($var = "u14")

## retrieve the value
The value you are looking for is ${map.get($var)}

可以使用array 完成类似的操作。另请查看VLT reference guide 的相关部分,其中解释了如何初始化映射或数组。初始化后,您可以从您的速度模板中调用java API 中描述的方法(get、put 等)。

【讨论】:

    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 2012-01-21
    • 2013-06-17
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多