2014-08-30 3 views
1

나는 레이아웃 파일이 있습니다. gsp 내부 html에서 Dereferecing

Just ${step} Steps Away From The Awesome!! 

그래서 내 레이아웃에 나는 자리 step에 위와 같이 문자열을 정의했습니다 : 그 레이아웃을 상속 내 각 페이지에서이 같은 것을 원한다. 컨트롤러에서이 자리 표시 자 값을 전달하고 싶지 않습니다. 이 레이아웃을 상속받은 gsp에서 정의하고 싶습니다.

<g:set var="step" value="1"/> (또는 gsp에 따라 2 개 또는 3 개)과 같은 것을 찾고있었습니다. 그러나 내가 그렇게 정의한다면 그것은 작동하지 않는다. 어떻게 확장 레이아웃 내에서 "단계"의 가치를 역 참조 하는가?

답변

0

이 작업을 수행하는 가장 좋은 방법 중 하나는 content blockspage properties을 사용하는 것입니다. Sitemesh에서 가져온 두 가지 기능입니다.

레이아웃을 사용하는 페이지가 값을 제공 할 때만 조건부로이 정보를 포함한다고 가정합니다. 그래서 여기에 나의 예제에서 나는 빠른 if 수표에 싸서. 레이아웃에서

:

<g:if test="${pageProperty(name: 'page.step')}"> 
    Just <g:pageProperty name="page.step" /> Steps Away From The Awesome!! 
</g:if> 

그런 다음 레이아웃을 사용하는 모든 페이지에 당신이 content 태그 내에서 값이 될 수 있음을

<content tag="step">3</content> 

주 변수 단계에 대한 내용을 포함 할 수 있습니다 어떤 너는 좋아한다. 페이지가 렌더링 될 때 평가됩니다.