Как установить атрибут модели для каждого действия - PullRequest
3 голосов
/ 12 марта 2010

ранее я использую Spring MVC и аннотацию @ ModelAttribute.

@Controller
public class ArticleController {

    @ModelAttribute("articles")
    public List<Testset> getArticles(){
        return articleDao.all();
    }

    @RequestMapping("/first.htm")
    public void first(){                       

    } 
}

Как можно сделать такое поведение в контроллере Grails?

class ArticleController{

    //this variable I want to in every action
    List articles 

    def first = { }   
    def second = { } 
    def third = { } 
}

Конечно, я могу использовать этот код для каждого действия

def first = {
  this.articles = Article.all()
}

но я не хочу этого.

Большое спасибо за вашу помощь. Томаш

1 Ответ

4 голосов
/ 12 марта 2010

Вы можете определить после перехватчика и добавить туда данные модели:

class ArticleController {

   def afterInterceptor = { model ->
      model.articles = Article.list()
   }

   def first = { }   
   def second = { } 
   def third = { } 
}

Документы для этого здесь: http://grails.org/doc/latest/ref/Controllers/afterInterceptor.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...