当Velocity遇到未定义的引用时,其正常行为是输出引用的图像。例如,假设以下引用作为VTL模板的一部分出现“example:
<input type="text" name="email" value="$!email"/>
是否可以配置默认行为,以便我仍然可以编写$email
并且它隐式地是一个安静的符号?
答案 0 :(得分:2)
是。有一个事件处理程序在找到无效引用时被调用。它被称为InvalidReferenceEventHandler。您将希望事件处理程序返回一个空字符串。
public Object invalidGetMethod( Context context,
String reference,
Object object,
String property,
Info info)
{
return "";
}
有关如何创建和注册事件处理程序的详细信息,请参阅Velocity开发人员指南。但简而言之,实现InvalidReferenceEventHandler,然后在设置VelocityEngine时包含此属性。
eventhandler.invalidreferences.class=com.something.youreventhandlerclass