Exception 如何从Velocity模板脚本(VTL)引发用户定义的异常?

Exception 如何从Velocity模板脚本(VTL)引发用户定义的异常?,exception,velocity,user-defined,vtl,Exception,Velocity,User Defined,Vtl,如何从Velocity模板脚本(VTL)引发用户定义的异常 在我的velocity脚本中,我需要根据条件引发异常,以便调用方能够捕获异常并向最终用户显示有用的错误消息 比如说 #if($passwordfield1 != $passwordfield2) throw an exception here #elseif($passwordfield1 == $passwordfield2) do something #end 在上面的示例中,如果passwordfield1和passwordfi

如何从Velocity模板脚本(VTL)引发用户定义的异常

在我的velocity脚本中,我需要根据条件引发异常,以便调用方能够捕获异常并向最终用户显示有用的错误消息

比如说

#if($passwordfield1 != $passwordfield2)
throw an exception here
#elseif($passwordfield1 == $passwordfield2)
do something
#end
在上面的示例中,如果passwordfield1和passwordfield2不匹配,则应引发一个适当的异常,该异常需要传播给最终用户


有没有办法通过velocity脚本实现这一点?如果没有,请建议另一种方法。

您能提供更多详细信息吗?在我的模板中,java代码只是直接输出。需要转义吗?这是三段独立的代码。第二个是独立的Java类。第一个是实例化该类并插入到Velocity上下文中。第三个问题是如何在模板中使用这样的工具。不要只是将这些全部插入到模板中。只有第三部分是VTL。
context.put("exceptionThrower", new ExceptionThrower());

public class ExceptionThrower {
    public void throwUserDefined() {
        throw new UserDefinedException();
    }
}

#if ($whatever) 
$exceptionThrower.throwUserDefined()
#else
blah blah
#end