Наличие приложения, использующего Vaadin7 с Grails (благодаря плагину Ondrej). Поскольку я реализую бизнес-логику внутри компонентов Vaadin, мне также интересно иметь консоль администратора, работающую по классическому шаблону MVC с использованием контроллера Grails, чтобы управлять пользователями, журналами и другими событиями.
Затем в VaadinConfig я добавил сопоставления URL-адресов с контроллерами Grails (включая spring-security-ui ниже):
mappingExtras = [
'/console/*',
'/user/*',
'/role/*',
'/securityInfo/*'
]
Он отлично работает для отображения списков и извлечения данных из БД, но не работает, когда мне нужно передать параметры контроллерам, чтобы сохранить или обновить объекты домена. Следовательно, я получаю следующую ошибку:
java.lang.IllegalArgumentException: Method name must not be null
at grails.plugin.cache.web.ProxyAwareMixedGrailsControllerHelper.retrieveAction(ProxyAwareMixedGrailsControllerHelper.java:41)
at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
at grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter.doFilter(RequestHolderAuthenticationFilter.java:49)
at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:82)
at grails.plugin.springsecurity.web.filter.DebugFilter.invokeWithWrappedRequest(DebugFilter.java:102)
at grails.plugin.springsecurity.web.filter.DebugFilter.doFilter(DebugFilter.java:69)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
Есть ли способ легко проксировать контроллеры в этом случае? Как избавиться от ошибки ProxyAwareMixedGrailsControllerHelper и внедрения параметров?
Большое спасибо