Я часто пишу что-то вроде:
def myAction{ MyActionCommand cmd ->
if( cmd.hasErrors() ){
return render(status:HttpServletResponse.SC_BAD_REQUEST );
}else{
// actual action logic
}
Итак, я хотел бы извлечь этот общий шаблон в какое-то место для повторного использования. Фильтр выглядит хорошим кандидатом, но я не могу найти способ получить объект команды из фильтра. Пробовал что-то вроде этого (в фильтрах закрытия):
formValidation( controller:'*', action:'*' ){
before = { cmd ->
if( cmd.hasErrors() ){
response.sendError( HttpServletResponse.SC_BAD_REQUEST );
return false;
}else{
return true;
}
}
}
Помещенный в Грааль 1.3.7 совместимый раствор. Возможно ли это вообще?