Имя состояния Grails WebFlow

Новичок в Grails...

Как получить имя состояния внутри состояния веб-потока Grails? Я создаю прототип мобильного приложения, используя Grails WebFlow и jQueryMobile. Поскольку это мобильное приложение, состоящее в основном из списков, я управляю обратными событиями, используя такой стек:

class myController {
    def myFlow {
        start {
            action {
                flow.states = []
                [ ... ]
            } 
            on("success").to "state0"
        }

        state0 {
            on("back").to "home"
            on("event") {
                flow.states << "state0"
            }.to "state1"
        }

        state1 {
            on("back").to { flow.states.pop() }
            on("event") {
                flow.states << "state1"
            }.to "state2"
        }

        state2 {
            on("back").to { flow.states.pop() }
        }

        home {
            redirect( ... )
        }
    }
}

Это работает, но я хотел бы заменить жестко закодированные строки имени состояния в таких строках, как flow.states << "state#", выражением, если есть способ сделать это.

РЕДАКТИРОВАТЬ: я приму ответы, которые объясняют, почему это невозможно сделать.


person lambmj    schedule 21.01.2011    source источник
comment
Вы пытались использовать RequestContext и/или FlowExecutionContext? например flowExecutionContext.currentState.id?   -  person callie16    schedule 01.08.2011
comment
Хороший звонок. Я обнаружил, что этот код работает: flow.states << flowExecution.activeSession.state.id. Если вы хотите сформулировать это как ответ, а не комментарий, я, безусловно, приму это.   -  person lambmj    schedule 02.08.2011


Ответы (1)


Попробуйте использовать RequestContext и/или FlowExecutionContext? например потокExecutionContext.currentState.id

person callie16    schedule 03.08.2011