Доступ к параметрам запроса из веб-потока Grails - PullRequest
1 голос
/ 18 апреля 2011

Я играю с веб-потоком Grails и испытываю удивительные трудности с чтением значений параметров из запроса.Я определил простой поток следующим образом:

def testFlow = {

    stepOne{

        String name = params.name

        render(view: "stepTwo", [name: name])
    }
    ... 
}

Проблема, с которой я сталкиваюсь, заключается в том, что параметр имени не разрешается в значение имени, которое я передаю в запросе, а назначается ему.строковое значение «org.codehaus.groovy.grails.commons.metaclass.PropertyExpression», которое является именем класса неявного объекта «params», присутствующего в контроллерах Grails.

Если я поставлю то же самоеназначение параметров при закрытии контроллера без веб-потока (то есть при стандартном закрытии контроллера), назначение работает так, как вы ожидаете, и объекту 'name' присваивается значение, которое я передаю через параметры запроса.

AmЯ упускаю из виду нечто явно очевидное (не в первый раз), или кто-нибудь еще сталкивался с такой же проблемой?Я также пытался получить доступ к значению параметра, используя params ['name'] и params.getProperty ('name'), но во всех случаях результат один и тот же.

1 Ответ

1 голос
/ 18 апреля 2011

Ваше определение потока / DSL на самом деле не выглядит правильно.Обычно вы не используете render () в DSL, поскольку рендеринг выполняется для вас на основе имен вашего состояния.Кроме того, к params обычно обращаются при закрытии action и / или on.

Вот одно из лучших коротких учебников по веб-потоку. Открытие веб-потоков Grails

...