2013-06-18 2 views
2

제 질문은 매우 간단합니다.다른보기 gsp에서 하나의보기 gsp 사용하기

나는 해당 컨트롤러/뷰 폴더와 두 개의 서로 다른 도메인이 등

내가 처음 _form.gsp에서 두 번째 _form.gsp (AG 내 : 표시 할 여러 가지가있을 것입니다 각으로) 전화를 걸 두 번째 _form.gsp에 대한 관련 데이터를 전달하여 렌더링합니다. 어떻게해야합니까? 템플릿 = "myotherForm"을 렌더링하지만 난 방법 세부 사항을 전달하는 또 다른보기 폴더 또는를 가리 키도록하는 방법을 모른다 ... 사전에

감사하고 보자

은 내가 g을 사용할 수 있습니다 알고 더 많은 정보가 필요하면 알려주세요 ...

답변

2

맞아요, <g:render이 올바른 도구입니다. 기본적으로 template="myOtherTempalte"의 경우 현재 디렉토리에서 tempalte를 찾지 만, 다른 컨트롤러에서 온 경우에는 전체 경로를 전달할 수 있습니다. template="/forms/myOtherTemplate"처럼. 그리고 컨트롤러 내부와 같은 매개 변수를 전달하는 model=""를 사용

<g:each in="${things}" var="x"> 
    <g:render template="/forms/myOtherTemplate" model="${thing: x}"/> 
</g:each> 
+0

감사 이고르 렌더링 사용합니다. 모델에 대해 id 필드와로드 할 객체의 번호를 제공 할 수 있습니까? 아니면 모든 것을 피드해야합니까? – MorkPork

+0

템플릿에 포함 된 템플릿에 따라 필요한 모든 것을 모델에 넣을 수 있습니다. 템플릿에만 달려 있습니다. –

3

할 수 있습니다 Refer this

Grails는 템플릿을 식별 할 수있는 뷰의 이름 앞에 underscore을 배치하는 규칙을 사용합니다.

grails-app/views/book/_bookTemplate.gsp:

<div class="book" id="${book?.id}"> 
    <div>Title: ${book?.title}</div> 
    <div>Author: ${book?.author?.name}</div> 
</div> 

그리고 태그에게 치료를 작동

<g:render template="bookTemplate" model="[book: myBook]" /> 
+0

감사합니다. 나는 밑줄 규칙에 대해 몰랐고 나를 괴롭혔습니다. – IcedDante

관련 문제