Тихая справочная нотация Apache Velocity как поведение по умолчанию - PullRequest
3 голосов
/ 06 июня 2011

Когда Velocity встречает неопределенную ссылку, ее нормальным поведением является вывод изображения ссылки. Например, предположим, что следующая ссылка отображается как часть шаблона VTL "пример:

<input type="text" name="email" value="$!email"/>

Можно ли настроить поведение по умолчанию, чтобы я все еще мог написать $email, и это неявно тихая запись?

1 Ответ

2 голосов
/ 13 июня 2011

Да. Есть обработчик событий, который вызывается, когда найдена недопустимая ссылка. Это называется InvalidReferenceEventHandler. Вы хотите, чтобы обработчик события возвращал пустую строку.

public Object invalidGetMethod( Context context, 
                                    String reference, 
                                    Object object, 
                                    String property, 
                                    Info info)
{
    return "";
}

Обратитесь к Руководству разработчика по Velocity для получения подробной информации о том, как создать и зарегистрировать обработчик событий. Но в двух словах, реализуйте InvalidReferenceEventHandler, а затем включите это свойство при настройке VelocityEngine.

eventhandler.invalidreferences.class=com.something.youreventhandlerclass
...