我在我的控制器的另一個包中有一個命令對象。我將它導入控制器。我創建和創建操作返回此命令的一個實例:我需要爲命令對象做一些特殊的事情才能在grails中實例化嗎?
def create = {
def reportCreateCommand = new ReportCreateCommand()
reportCreateCommand.name = params.name
reportCreateCommand.jrxmlFile = params.jrxmlFile
return [cmd: reportCreateCommand]
}
但保存行爲閉不從性能實例化這個命令的對象:
def save = { ReportCreateCommand cmd ->
if (cmd.validate()){
def reportInstance = cmd.createReport()
reportInstance.save()
redirect(action:"show", id:reportInstance.id)
}
else {
render(view:"create", model:[cmd:cmd])
}
}
顯然cmd爲空在保存關閉。該命令類有兩個屬性name和jrxmlFile。從我所知道的,grails應該從params實例化save方法中的命令對象。我還需要做其他事嗎?
你不應該創建命令對象http://jira.codehaus.org/browse/GRAILS-5568,我需要看到更多的代碼來理解你的保存操作失敗的原因;幷包含來自命令對象的代碼會有所幫助 – 2010-09-25 14:57:13