2012-02-09 3 views
2

컨텍스트를 렌더링하고 템플릿의 전역 변수로 사용할 수있는 Django의 컨텍스트 프로세서처럼 모든 템플릿이나 심지어 Grails의 레이아웃에서도 전역 값을 출력하려고합니다.Grails와 같은 Django의 컨텍스트 프로세서가 있습니까?

Grails에는 개념이 있나요? 레이아웃에서 어떻게 사용할 수 있습니까?

+1

나는 이것을 알고 싶습니다. Grails에서 Django의 컨텍스트 프로세서와 가장 가까운 것은 무엇입니까? –

+0

이것은 존재한다면 매우 유용한 기능입니다. 비교하기 위해 GSP에 보편적으로 주입되는 것도 모릅니다. –

+0

또는 아마도 이것은 당신이 찾고있는 것입니다 http://stackoverflow.com/questions/1728021/adding-a-variable-to-all-views-in-grails?rq=1 – mingus5000

답변

-3

나는 장고에 익숙하지 않다. Google에서 Django의 컨텍스트 프로세서를 찾은 것 같습니다. 기본적으로 모든 템플릿에 주입되는 재사용 가능한 데이터를 구성합니다. 어쨌든, 내가 Grails에있는 것과 같은 것이 없다는 것을 안다면. 해결 방법으로 다음을 시도 할 수 있습니다.

를 사용하여 ApplicationContext를

모든보기는 ApplicationContext에 액세스 할 수 있습니다. 그래서 필요한 모든 데이터를 담고있는 서비스를 만드십시오. fooService라고하고, 원하는 데이터 항목은 bar라는 서비스의 필드입니다 (물론 메소드 일 수도 있습니다). 그런 다음 $ {applicationContext.fooService.bar}를보십시오. 보기의 applicationContext에 액세스하기위한 리소스 : http://mrhaki.blogspot.com/2011/11/grails-goodness-get-grailsapplication.html.

이 일에 대해 레이아웃

나는 확실하지 않다 사용, 그래서 당신의 자신의 위험에 사용합니다. 물론 맨 위에있는 것은 매우 장황하다. 다른 견해에서 그것을 반복해서 불러내는 것은 짜증나는 일입니다. 대신 g : set을 사용하여 레이아웃에서 변수를 한 번 호출하여 변수로 만듭니다. 레이아웃을 사용하는 모든보기에서 변수를 사용할 수 있다고 생각합니다. 그러나 확실하지 않습니다. g에 대한 문서는 다음과 같습니다. set ->http://grails.org/doc/latest/ref/Tags/set.html.

컨텍스트 프로세서가 파이썬에서 수행하는 것을 얻지 못하면 다시 시도해보기가 행복합니다 ...

+0

또는 컨트롤러 인터셉터를 사용할 수 있습니다 : http : //grails.org/doc/2.1.0/ref/Controllers/afterInterceptor.html. 모든 컨트롤러에 필요한 모든 변수를 추가하는 기본 컨트롤러를 확장하십시오. – mingus5000

관련 문제