2011-08-11 5 views
1

일반적으로 ForwardResolution (경로)을 줄무늬로 사용하여 다른 페이지로 리디렉션 할 수 있지만 다른 사이트로 리디렉션하려고합니다. 내가 ForwardResolution을 사용하고 경우에 따라서는스트라이프의 매개 변수가있는 POST 메서드를 사용하여 다른 사이트로 리디렉션

http://localhost:8080/MySiteName/<Address of the other site> 

나는 this link을 읽고,하지만 어떻게 주소에 매개 변수를 추가하는 것으로 해석 할 것인가? POST 메서드에서 변수를 해당 사이트에 제출하려고합니다. Stripes에서 액션 빈을 사용할 수 있습니까?

답변

5

실제로 ForwardResolution을 사용하여 다른 사이트로 이동할 수 없습니다. 전달은 서블릿 컨테이너의 내부 개념입니다. 할 수있는 일은 RedirectResolution이며이를 사용하여 쿼리 매개 변수를 포함하여 다른 사이트에 정상적인 GET 쿼리를 보낼 수 있습니다. 는 GET가 아닌 POST 될 것

http://example.com/action?search=thing

하지만.

리디렉션은 URL을 브라우저로 보내고 브라우저가 대상 사이트로 다시 전송하기 때문에 작동합니다.

POST를 보내는 유일한 방법은 action 매개 변수가 새 사이트 및 method = "POST"를 가리키는 채 브라우저에 채워진 다음 약간의 자바 스크립트를 사용하여 자동으로 양식이로드되면 숨겨진 필드로 채워진 작은 폼의 경우 이것은 매우 빠르며, 대부분의 사용자는 이런 일이 발생하는 것을 보지 못하지만 브라우저에서 자바 스크립트가 활성화되어 있어야합니다.

1

기술은 다르지만 answer to this previous question에는 전체 HTTP 교환에 대한 설명이 있습니다. 그 대답에서 언급 된 전략 중 하나는 현장에서 제 3 자 사이트에 대한 게시물을 작성한 다음 적절한 위치로 리디렉션하는 작업에 대한 것입니다. 이 작업은 .NET HttpWebRequest 대신 HttpClient 또는 HttpURLConnection을 통해 수행 할 수 있습니다.

관련 문제