【问题标题】:Velocity #foreach not working for dynamic value(range)速度 #foreach 不适用于动态值(范围)
【发布时间】:2014-04-28 09:17:30
【问题描述】:

我正在尝试实现速度的#foreach,经过大量调试后,我发现如果我为静态值实现#foreach,它执行得很好,但是当#foreach 范围由动态变量(其值被接收来自servlet)#foreach失败,下面是我的html文件(.vm)中的sn-p:

以下情况运行良好:

#set($start = 1)  
#set($end   = 5)     
#set($range = [$start..$end])

#foreach ($number in $range)
   $number ,                 ##display on html page
#end

输出:

 1 , 2 , 3 , 4 , 5 , 

但以下情况失败:($count 是控制器 servlet 中定义的属性)

#set($start = 1)
#set($end   = $count)
#set($range = [$start..$end])

#foreach ($number in $range)
  $number ,                  ##display on html page
#end

输出为空白。

为了验证 $count 是否包含我显示的 $count 和 $end 的值,它们都显示正确的值。当我尝试显示 $range 时,它​​按原样显示 -> "$range" 就好像它是 html 页面上的字符串而不是速度变量!我被卡住了,请帮助我找出问题所在。提前致谢!

我正在使用 netbeans 并在 spring mvc 中使用速度,我已经包含了所有必需的 jar 文件。

【问题讨论】:

    标签: java spring foreach velocity


    【解决方案1】:

    对于VelocityTools,正确的引用是$request 和$response

    方法名称是getAttribute

    $request.getAttribute('count')
    

    或者只是

    $request.count
    

    【讨论】:

      猜你喜欢
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多