Domanda

Ho sviluppato una semplice webflow in Grails (per lo più a sperimentare utilizzando webflows- sua un po 'eccessivo per questo caso). Dopo alcune prove e le tribolazioni con oggetti Serializable, ce l'ho a lavorare -. A volte

Ecco il rub- la prima volta che accedo al webflow dopo aver avviato l'applicazione (run-app), ottengo questa eccezione:

2010-06-16 09:11:25,580 [http-8080-3] [ERROR] [org.codehaus.groovy.grails.web.errors.GrailsExceptionResolver] No signature of method: groovy.lang.MissingMethodException.to() is applicable for argument types: (java.lang.String) values: [validate]
Possible solutions: is(java.lang.Object), any(), use([Ljava.lang.Object;), getAt(java.lang.String), with(groovy.lang.Closure), any(groovy.lang.Closure)
groovy.lang.MissingMethodException: No signature of method: groovy.lang.MissingMethodException.to() is applicable for argument types: (java.lang.String) values: [validate]
Possible solutions: is(java.lang.Object), any(), use([Ljava.lang.Object;), getAt(java.lang.String), with(groovy.lang.Closure), any(groovy.lang.Closure)
        at com.sbs.component.survey.SurveyDefinitionController.invokeMethod(SurveyDefinitionController.groovy)
        at com.sbs.component.survey.SurveyDefinitionController$_closure3.doCall(SurveyDefinitionController.groovy:23)

Se io "toccare" il controller (fare qualsiasi modifica, anche se solo l'aggiunta di un bianco-spazio) e quindi salvare il file, le WebFlow inizia a lavorare ... mi sembra una cosa non è sempre collegato fino a quando le ricariche del controller almeno una volta. Ovviamente questo è un non-starter ... tutte le idee che cosa sta causando questo?

Sto usando Grails 1.3.1 su Mac OSX Java 1.6.

Ecco lo scheletro del webflow:

def createSurveyFlow = {
        select {

            }.to("validate")
            on("cancel").to("finish")
        }

        validate {
            on("approve") {

            }.to("finish")
            on("disapprove").to("select")
            on("cancel").to("finish")
        }

        finish {
            action {
                flash.message = "SurveyDefinition created"            
            }
            redirect(controller:"surveyDefinition", action:"index")
        }

    }
È stato utile?

Soluzione

I può aver pensato che out- sembra che le definizioni WebFlow e azioni di controllo non fanno molto come essere sullo stesso controller. Quando mi sono trasferito il webflow al proprio controllore esso è, problemi di questo (e altro) sembrava di andare via. Per ora, almeno. Io riferire se / quando imparo di più.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top