我试图实现#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文件。
答案 0 :(得分:0)
对于VelocityTools
,正确的引用是$ request和$ response
方法名称为getAttribute
$request.getAttribute('count')
或只是
$request.count