Model view controller Groovy/Grails中的MVC

Model view controller Groovy/Grails中的MVC,model-view-controller,grails,groovy,Model View Controller,Grails,Groovy,我是groovy的新手。 我们如何从Grails中的控制器调用域方法 控制器: def results = User.fetch_results 用户域: def fetch_results { def users = this.get(1) } 对不起,如果上面的代码是错误的,我需要知道如何从控制器访问域方法 谢谢 我的代码是这样的 用户控制器: def results = User.addUser 用户域: def addUser { def user = new

我是groovy的新手。 我们如何从Grails中的控制器调用域方法

控制器:

def results = User.fetch_results
用户域:

def fetch_results {
    def users = this.get(1)
}
对不起,如果上面的代码是错误的,我需要知道如何从控制器访问域方法

谢谢


我的代码是这样的

用户控制器:

def results = User.addUser 
用户域:

def addUser {
    def user = new User()
    user.id = 1
    user.publication_name = pub_name
    user.publication_desc =  ""
    user.edit_date = new Date()
    user.save()
    }
}
我尝试了上面的代码,但出现了错误。我们如何从控制器调用“addUser”方法

谢谢。

我想

User usr = User.get(1) // or User.findBy... etc

在你的控制器中,你应该做你想做的事情。只要看看这个,他们真的很好。如果您是Groovy新手,但不是Java新手,那么您应该在之前检查以了解Groovy语言本身。

假设您想要一个所有用户的列表,并且您的域类被定义为User

 def userList=User.list()
假设您想访问用户2上的特定字段

 def theAddress=User.get(1).address

注意:这假设您已经导入了定义域类的任何包。

您需要将该方法设置为静态方法

class User {

    def static addUser() {
        def user = new User()
        ...
        user.save()
    }
}

然后确保在控制器中导入用户对象。

谢谢Blacktiger,我正在寻找这个解决方案