Struts 2 - повторное использование средства проверки пользовательских выражений

В распорках 2 мы можем разработать@CustomValidator которые могут быть использованы в широком применении

@CustomValidator(type = "CustomerNumberValidator", fieldName = "customerNo")

Для валидации БОЛЬШЕ ЧЕМ ОДНО ПОЛЕ мы используем@ExpressionValidator

@ExpressionValidator(expression = 
"( (!''.equals(account.firstName) && (!''.equals(account.lastName) )
   || (presonalAccount == false)", 
   key = "validate.account.name")

Если выражение слишком сложное и должно работать на БОЛЕЕ ОДНОМ ПОЛЕ, мы используем OGNL для вызова статического метода. Статический метод выполнит проверку и вернетboolean например

@ExpressionValidator(expression = "@foo.bar.CalendarUtil@compareDates(fromDate,toDate)", key = "validate.date.before")

Выше кое-какизготовленный на заказ Валидатор выражений! И мы используем@foo.bar.CalendarUtil@compareDates в приложении, чтобы сделать эту проверку для нас.

Есть ли другой подход, который позволяет нам использовать пользовательский широкий валидатор ?! Существует ли какой-либо специальный валидатор выражений, который можно добавить в Struts, и мы можем вызывать его в действии так, как используем@CustomValidator

Ответы на вопрос(2)

Ваш ответ на вопрос