是否可以刷新Grails中的属性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以刷新Grails中的属性?相关的知识,希望对你有一定的参考价值。

为了刷新域对象,即从数据库重新读取数据,我们执行refresh()。

def b = Book.get(1)
…
b.refresh()

我想知道我们是否可以刷新域的属性。

假设我已将params绑定到Book对象,并假设我想从book对象中取消绑定author属性,那么可以实现吗?

让我们考虑本书被定义为

class Book {
   String title
   String author
   String category
}

假设我做了bindData(bookInstance,params)。这将绑定到所有属性。我想在bindData之后取消绑定作者。这可能吗?

答案

听起来你只想排除绑定特定属性。

bindData(bookInstance, params, [exclude: 'author'])

将绑定除列出的所有Book属性。

您可以反过来使用include明确列出要从params绑定的属性。

bindData(bookInstance, params, [include: 'title', 'category'])
另一答案

我用bookInstance.author = bookInstance.getPersistentValue('author')解决了这个问题。

以上是关于是否可以刷新Grails中的属性?的主要内容,如果未能解决你的问题,请参考以下文章

Grails远程分页正在刷新整个页面而不是div

Grails 域中的瞬态属性

我是不是需要在 grails 中显式刷新 GORM 保存调用?

是否可以在片段中手动调用 onCreateView?

片段中的 notifyDataSetChanged() 不刷新列表视图

Grails:Grails Doc 的替代品? [关闭]