FWIW, вот код Java, который мы используем для проверки адресов электронной почты. Regexp очень похожи:
public static final Pattern VALID_EMAIL_ADDRESS_REGEX =
Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
public static boolean validate(String emailStr) {
Matcher matcher = VALID_EMAIL_ADDRESS_REGEX .matcher(emailStr);
return matcher.find();
}
работает достаточно надежно.
Вы загружаете свои пользовательские свойства в переменную props
, но никогда не передаете их в Velocity.
Итак, вы должны просто сделать что-то вроде:
velocityEngine.init(props)