如何在Grails中完成控制器操作后从域类执行操作

时间:2014-06-24 13:39:16

标签: grails

需要在Grails中完成控制器操作后从域类执行操作。

像beforeInterceptor / afterInterceptor这样的东西。但在通用中我正在寻找并需要从域类自动调用此帖子保存操作。

任何一种解决方案都很明显。

1 个答案:

答案 0 :(得分:0)

请查看此处的链接:http://grails.org/doc/latest/guide/GORM.html#eventsAutoTimestamping

您可以直接在域类中使用这些事件,只要知道不执行flush:true。

Do not attempt to flush the session within an event (such as with obj.save(flush:true)). Since events are fired during flushing this will cause a StackOverflowError. 

链接中的示例。

class Person {
 private static final Date NULL_DATE = new Date(0)

 String firstName String lastName Date signupDate = NULL_DATE

 def beforeInsert() 
 { 
    if (signupDate == NULL_DATE) 
    { 
       signupDate = new Date() 
    } 
  } 
}