2012-07-24 2 views
0

임 서버를 통해 공급되는 웹 애플리케이션을 개발 중입니다. 그것의 색인은 몇몇 거래를 선물하고,이 거래 모두를 가지고 있습니다. 의미동일한 웹 페이지를 열지 만 다른 내용은

<div id="content"> 
<g:each in='${promos}' var='promo'> 
<div id="up_box"></div> 
<div class="deal_container"> 
    <div class="images_container"><img src="${createLink(action:'showImage',controller:'image',id:promo.fotoPrincipal.id)}" width="120" height="105" /> 

    </div> 

    <g:link controller='promotion' action='openPromo' params="[promoid:promo.id]"> 

    <div class="oferta">${promo.name}</div> 
    </g:link> 
    <g:link controller='promotion' action='openPromo' params="[promoid:promo.id]"> 
    <div class="flecha"> 
    </div> 
    </g:link> 


</div> 

, 내가 링크 중 하나를 클릭하면이 같은 URL을 엽니 다 :

app/promotion/openPromo/3 

.gsp에서, 나는이 코드를 ID가 "3"인 거래가 클릭되는 경우. '일반'거래 세부 정보 페이지가 있습니다. 해당 페이지가 항상로드되고 사용자가 클릭 한 거래에 따라 세부 정보를 채우고 싶습니다. 어떻게해야합니까?

내 설명에 분명히 표시되어 있는지 여부를 모르겠다면 물어보십시오.

감사합니다.

답변

1

두 링크는 ​​PromotionControlleropenPromo 작업에 의해 처리되며 프로모션의 idpromoid으로 전달됩니다.

그런 다음 사용자가보고 싶은 다른 관련 쿠폰과 함께 적절한 프로모션을로드하여보기에 제공 할 수 있습니다. 예를 들면 :

class PromotionController { 

    def openPromo() { 
    Promo promo = Promo.get(params.promoid) 

    // Load any other relevant data or offers 

    render (view:'openPromo', model:[promo:promo, <any other model data here>] 
    } 
} 

그런 다음 gsp에서 모델 데이터를 사용할 수 있습니다.

0

당신은 그것이 Grails의 문서에서이 링크 렌더링에 대한 자세한 정보를 가지고 다음 일반 템플릿에 대한 정보와이

// render a template to the response for the specified model 
def theShining = new Book(title: 'The Shining', author: 'Stephen King') 
render(template: "book", model: [book: theShining]) 

피고측처럼 컨트롤러에서 렌더링 것을 추가 할 수 있습니다.

http://grails.org/doc/latest/ref/Controllers/render.html

키우면 쉽게 그것을 할, 당신은 템플릿을 렌더링하는 행동에 대한 호출 파크 최초의 것들과 같은에서 CreateLink를 추가 할 수 있습니다.

호프 도움이 되길 바랍니다.) 행운을 빌어 요!

0

나는 내 직장 동료를 요구 한 후,이 방법했다 :

def openPromo() { 
    Promotion promo = Promotion.get(params.promoid) 
    [promo:promo] 
} 

거의 당신이 말을 다윗,하지만 난 openPromo 내 GSP의 이름을 지정하는 경우, 렌더링없이.

감사합니다.

+0

좋아요! '[promo : promo]'는'gsp'가 컨트롤러와 같은 이름 인 경우 render (view : 'openPromo', 모델 : [promo : promo])의 짧은 손입니다. –

관련 문제