我尝试使用Grails在 Controller 的bean实例中进行一些修改:
GSP:
g:select name="item" noSelection="${['null':'Select...']}"
from="${Item.list()}" optionValue="name" optionKey="id"/>
g:submitToRemote url="[controller:'Person', action:'addItem']"
update="itemsPerson" value="Add"/>
.....
PersonController:
def addItem(Person person){
Item item = Item.findItemById(params.item);
person.addToItens(item);
println person.itens.size() "**ever time has only one item!**"
}
问题是,当我将项目添加到person时,Person对象的状态不会保留该项目,每次调用方法addItem时,person.items再次为空。我知道我可以亲自参加 session ,但是还有另一种方式可以亲自参加 session list ?
最佳答案
这是观察结果:
Save() is not called after person is edited
尝试输入您的代码,然后再次验证:
person.save(flush:true)
另外,您可能需要放置一些日志以确保
findItemById()
返回正确的item
关于grails - 如何在Grails Controller 上的Bean实例中 “persist in memory”更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38864414/