2012-07-01 5 views
2

한 동작과 동시에 두 개의 뷰를 렌더링 (리디렉션/렌더링) 두 개의 분리 된 뷰를 동시에 클라이언트에 페이지를 모두 보여줍니다. 사용자가 자신의 정보를 제출할 때처럼 페이지가 목록이있는 새 페이지로 리디렉션됩니다. 다른 페이지는 에 필요로하는 동시에에서 (이 페이지를 인쇄 할 사용자) 몇 가지 추가 정보를 포함하는 새로운 창에 팝업. 나도 알아, 난 하나의 페이지로 문제를 해결할 수 있지만 하나의 컨트롤러 작업에서 두 ​​개의 별도의 페이지/창을 동시에 생산할 수있는 방법이 있는지 궁금 해서요. 기대Grails에 내 컨트롤러 중 하나가 생성해야 하나 개 컨트롤러 액션

답변

0

왜 팝업을 열기 위해 기본보기에서 <script>window.open()</script>을 사용하지?

+0

머시 boucoup. 나는 당신의 솔루션을 사용했고 통찰력에 대해 @peddn –

2

에서

덕분에 당신은 정상과 아약스 요청을 처리 할 수있는 액션을 작성할 수 있습니다. 여기에있는 문서를 참조하십시오. Responding to both Ajax and non-Ajax requests

그런 다음 "일반"보기를 생성 할 수 있습니다. 그런 다음 클라이언트 측에서 ajax를 사용하여 동일한 작업을 호출하고 팝업 페이지의 데이터를로드합니다.

+0

제안에 감사드립니다. 이 기능에 대해 몰랐습니다. –

+0

물론 이것은 Tri 문제에 대한 "해결 방법"일뿐입니다.하지만 아마도 여러분이 함께 살 수있는 해결책 일 것입니다. – peddn

3

간단한 대답은 아니오입니다. Grails는 마술 같은 것을하지 않습니다. 여전히 일반적인 HTTP 요청/응답 수명주기에 제약이 있습니다. 단일 요청은 단일 응답을 얻습니다. 불가능한 하나의 HTTP 요청에 대해 2 개의 응답을 생성 할 수 있기를 원하는 것처럼 들릴지도 모른다. 응답은 브라우저가 렌더링 할 페이지이거나 브라우저가 다른 URL로 이동하는 리디렉션 메시지입니다.

+0

감사를 섞었다. 이런 식으로 생각하지 않았어. 이것이 나에게 해결책을주지는 않지만 당신은 절대적으로 옳습니다. –