2011-05-11 7 views
1

나는 grails에 익숙하지 않고 또 다른 문제가 붙어있다.컨트롤러의 어떤 동작이 호출되었는지 GSP에서 찾는 방법?

내 하나의 GSP search.gsp 두 가지 형태의이 두 내 컨트롤러 serach의 행동과 결과가 있습니다.

내 GSP 파일 중 하나에서 검색 버튼을 클릭하면 검색 작업으로 이동하며 search.gsp.At를 렌더링합니다. 이번에는 첫 번째 양식 만 표시됩니다. 그 모양의 결과 버튼을 클릭하면 결과 조치에 코드 행이 있습니다.

리디렉션 (행동 : "검색", PARAMS : [상인 : 상인, 주소 : 주소])

이 조치를 검색 할 날 다시 걸릴 것입니다하지만 지금은 검색에서 2 양식을 표시 할 .gsp ..

내 문제는

  • 어떻게 내가 검색 작업을 한 번 매개 변수의 한 번 out 매개 변수의 실행하고 할 수있다?
  • GSP에서 어떤 동작이 호출되었는지 결정하는 방법은 무엇입니까?

사전 감사합니다.

답변

2

양식의 차이에 따라 두 개의 별도 GSP 파일 (예 : search.gsp 및 results.gsp)을 고려하는 것이 좋습니다. render(view:'action', model:[...])을 사용하여 컨트롤러에서 다른보기를 렌더링하십시오. 이것은 종종 많은 조건문을 가진 하나의 파일보다 명확합니다.

그렇지 않으면, 당신은 ${params.action}를 사용하여 작업을 알아, 그래서 예를 들어 수 있습니다

<g:if test="${params.action == 'search'}"> 
    Text to show if the action is search 
</g:if><g:else> 
    Text to show if the action is results 
</g:else> 
+0

Dan .. 고맙습니다. 답과 함께 두 가지 문제가 해결되었습니다. 감사합니다. – Nandita

0

난 당신이 템플릿 (_search.gsp)로 결과 페이지를 분리하는 것이 좋습니다, 그리고 결과 조치에서 렌더링 것이다. 그래서 당신이 다른 파일에서 다른 형태를 가질 것입니다.

템플릿은 grails의 템플릿에 대한 자세한 내용은 아약스 응답 외에 아무것도 아닙니다.

+0

고마워. 알았어. – Nandita

+0

thanks.can u는 오늘 게시 한 Urlmapping에 대한 내 질문에 대한 답변을 제공합니다. – Nandita

관련 문제