Для последней версии grails (3.x как время написания) было бы лучше использовать черты вместо расширения абстрактного контроллера или использования Mixin, позднее это не рекомендуется, так как введение черт в groovy v2.3Пример использования черты для добавления универсального поведения к вашему контроллеру: 1 - создайте свои черты в src / groovy, например,
import grails.web.Action
trait GenericController {
@Action
def test(){
render "${params}"
}
}
2 - реализуйте вашу черту при реализации любого интерфейса:
class PersonController implements GenericController {
/*def test(){
render 'override the default action...'
}*/
}
Примечание: черты могут динамически получать доступ ко всем объектам контроллера: params, response ... и т. Д., И вы все равно можете переопределить действие черты.
Надеюсь, эта помощь.