【问题标题】:Velocity - Passing current forloop variable to another template速度 - 将当前的 forloop 变量传递给另一个模板
【发布时间】:2011-10-17 08:20:35
【问题描述】:

我有一个 Velocity 模板,我在其中使用 for 循环并在其中执行 parse 语句。问题是 parse 语句需要访问 for 循环中的当前对象,但它似乎超出了范围。在这里搜索后,我尝试了一个建议来创建一个变量并将迭代中的当前变量分配给它,但它只适用于第一次迭代。所有后续迭代都包含对迭代中第一个对象的引用。一个例子:

  #foreach ($someObject in $MyList)
       #set($anotherObject=$someObject)
       #parse('innerTemplate.vm')
  #end

问题是 innerTemplate.vm 永远不会看到 $someObject,所以如果我使用 set 构造将它分配给另一个变量,它只会记住列表中的第一项。

【问题讨论】:

    标签: java velocity


    【解决方案1】:

    Velocity 已经提供了一种通过 $velocityCount 获取循环计数的方法。

    试试这个:

    outerTemplate.vm:

    #foreach ($someObject in $MyList)
       #parse('innerTemplate.vm')
    #end
    

    内部模板:

    $velocityCount
    

    【讨论】:

      猜你喜欢
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 2019-04-03
      • 2011-05-08
      相关资源
      最近更新 更多