速度#foreach不适用于动态值(范围)

时间:2014-03-21 06:05:33

标签: java spring foreach velocity

我试图实现#foreach of velocity,经过大量的调试后我发现如果我为静态值实现#foreach它会执行正常但是当#foreach范围由动态变量决定时(其值)从servlet收到)#foreach失败,下面是我的html文件(.vm)的片段:

以下案例运行良好:

#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时,它显示为原样 - > " $范围"好像它是html页面上的字符串而不是速度变量!我被卡住了,请帮我弄清楚出了什么问题。提前谢谢!

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

1 个答案:

答案 0 :(得分:0)

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

方法名称为getAttribute

$request.getAttribute('count')

或只是

$request.count