Velocity将表达式计算为布尔值

时间:2011-06-07 10:29:03

标签: templates boolean eval velocity

有没有办法在Velocity中简化这个赋值?

#if($errors.contains("Field required.")
    #set($requiredFieldErrors = true)
#else
    #set($requiredFieldErrors = false)
#end

所以我需要$ requiredFieldErrors作为布尔值,以便稍后在if-else语句中使用该值。一行中的定义会很棒。

1 个答案:

答案 0 :(得分:4)

您可以将其修改为:

#set($reqField = $errors.contains("Field Required.")

或者直接在if语句中测试它(假设你没有在其他地方使用$ reqField引用)。

编辑:

#set($reqField = $errors && $errors.contains("Field Required.")

以上行将检查以确保$ errors是有效的引用并包含所需的值。