Differences between action and methods in Grails controllers

后端 未结 3 1666
执笔经年
执笔经年 2021-01-27 04:00

As far as I know, if I want to create an action in a controller then I can do it by:

class My Controller {
    def myAction = {
      println \"in my action \"
          


        
3条回答
  •  难免孤独
    2021-01-27 04:39

    The first implementation was defining public closures in the controller, the second is to use public methods.

    The second way was introduced in grails 2, and is widely considered to be the best way.

    A couple of reasons i can think of from the top of my head:

    • Especially in recent versions of grails, using methods allows you to take advantage of Traits.
    • You can use inheritance to organize your methods
    • it has to be more efficient

    UPDATE: Why should grails actions be declared as methods instead of closures and what difference does it make?

提交回复
热议问题