Передать значение из контроллера grails в класс внутри src / groovy

#grails #groovy

#grails #groovy

Вопрос:

У меня есть приложение Grails. Я хочу использовать значение из класса контроллера Grails (скажем, MyController) внутри класса в src / groovy / MyClass.groovy

Как я могу передать значение из класса контроллера Grails в этот класс? Я не смог найти ничего подходящего.

Я попробовал это:

 class MyController {
def name = "myapp"
}

Class MyClass{
def username = MyController.name
}
 

Пожалуйста, поправьте меня. Спасибо

Ответ №1:

Трудно сказать наверняка, не зная, что вы делаете, но вы, вероятно, хотите передать значение в качестве аргумента методу в MyClass, и вы, вероятно, не хотите, чтобы значение было полем в классе контроллера.

 class MyController {
    def someControllerAction() {
        def name = // I don't know where you are
                   // getting this value, but you got it from somewhere

        def mc = new MyClass()
        mc.someMethod(name)
        // ...
    }
}

class MyClass {
    def someMethod(String name) {
        // do whatever you want to do with the name
    }
}
 

Или вы можете передать значение в качестве аргумента конструктора:

 class MyController {
    def someControllerAction() {
        def name = // I don't know where you are
                   // getting this value, but you got it from somewhere

        def mc = new MyClass(name: name)
        // ...
    }
}

class MyClass {
    def name
}
 

Я надеюсь, что это поможет.