Я не думаю, что есть встроенный способ увеличения масштаба. Это, вероятно, хорошая вещь.
Если вы перенаправляете в контроллерах, вам нужно просто передать необходимые параметры через динамическое свойство redirect()
params . Пример:
def formHandler = {
// do stuff with params
redirect(action: 'anotherAction', params: params)
}
Если вам нужно охватить несколько запросов, например если у вас есть многоэтапная запись формы, предоставленная пользователю, вы можете использовать веб-потоки для сохранения состояния между запросами.
Для сервисов вам лучше просто передать то, что вам нужно в качестве аргументов для метода сервиса , а не выставлять params. Пример (аналогично разделу «Доступ к службам» здесь ):
// service
def myServiceMethod(def foo, def bar) {
// do stuff
}
// controller
def myService
def myControllerAction {
myService.myServiceMethod(params.foo, params.bar)
}
Предоставление параметров от контроллера к сервисному уровню нарушило бы подход, ориентированный на уровень, который Grails пытается предоставить вам; то есть компоненты "модель" и "контроллер" (из MVC) будут более тесно связаны .