Grails webflow - преобразование действий на основе веб-потока - PullRequest
0 голосов
/ 02 ноября 2010

Наше приложение работает с использованием обычных действий в контроллере, но есть некоторые трудности при переходе назад с одной страницы на другую. Мне было поручено преобразовать это, чтобы использовать вместо этого веб-потоки, и я бью все виды дорожных блоков. Предложения и идеи с благодарностью.

Контроллер имеет действия для списка, просмотра, создания, подписи и печати. Я сделал это:

def index = {
    redirect (action: "someFlow")
}

def someFlow = {
    init {
        // some object settings
    }
    on("success").to("list")

    list {
    }
    on("create").to "create"
    on("view).to "view"

    create {
    }
    on("next").to "sign"
    on("cancel).to "list"

    view {
    }
    on("edit").to "create"
    on("back").to "list"

    sign {
    }
    on("done").to "list"
    on("back").to "create"

    edit {
    }
    on("done").to "view"

}

Когда я прослеживаю это с помощью отладчика, кажется, что он попадает в каждое состояние подряд, ничего не делая и не останавливаясь ни на одной странице. Затем он возвращается к состоянию списка.

Если я нажму на ссылку «создать», я получу веб-страницу с сообщением, что «ресурс (/ путь к каталогу / создать) недоступен».

Но если он может найти list.gsp, почему он не может найти create.gsp?

Я чувствую, что слепо нащупываю в темноте; ни одна из книг, кажется, не касается ни одного из этих вопросов, и я не могу найти никаких других ресурсов, чтобы указать, почему он так себя ведет. У кого-нибудь есть идея?

Спасибо.

1 Ответ

0 голосов
/ 02 ноября 2010

Операторы "on" должны быть внутри замыканий.Например, это:

list {
}
on("create").to "create"
on("view").to "view"

должно быть таким:

list {
    on("create").to "create"
    on("view").to "view"
}

Это должно по крайней мере решить проблему с пролетом через весь поток.Что касается GSP, которые не были найдены, вам нужно создать папку (с именем «some») в папке для вашего контроллера.Разместите здесь GSP для каждого из действий в вашем потоке.

При этом я согласен с Робом в том, что на самом деле это не выглядит хорошим кандидатом для веб-потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...