我對Grails仍然很陌生,並且正在開發一個在線調查。我決定使用網絡流量,並且我遇到了很多問題。我試圖將調查ID從gsp頁面傳遞給流量控制器。這在任何其他控制器動作上都可以很好地工作,但每當我對流的啓動狀態執行操作時,我總會得到相同的錯誤。我在一本教科書中遵循了一個教程,它以相同的方式完成了這個任務,並且我的想法已經耗盡。Grails 2.0.4 webflow「類型不匹配」異常
這裏是從GSP頁面的鏈接:
<g:link controller="surveyPage" action="beginTest" id="${survey.id}">
${survey.surveyName}
</g:link>
這裏是啓動狀態的流動
def beginTestFlow = {
showSurvey{
def survey = Survey.get(params.id)
on("cancel").to "cancelSurvey"
on("continueSurvey").to "nextQuestion"
}
cancelSurvey { redirect(controller:"surveyPage") }
}
它總是拋出異常:
參數類型不匹配上符合
def survey = Survey.get(params.id)
我也試過:
flow.survey = Survey.get(params.id)
甚至:
flow.survey = Survey.get(session.survey.id)
總是相同的錯誤。另外,我確信班級Survey實現了Serializable。我已經使用相同的控制器將相同的代碼複製並粘貼到不同的操作中,並且工作完美無瑕。任何想法與網絡流量有什麼不同?
是的,這很好。我很驚訝沒有提到我的參考onStart方法。感謝您的幫助! – moultonjr 2012-07-26 11:54:58
它似乎沒有在文檔中的任何地方提及,我最初通過http://jira.grails.org/browse/GRAILS-3997和閱讀Grails源代碼的相關部分來了解它。 。 – 2012-07-26 12:12:19