2013-03-30 4 views
0

고객을 검색 할 JSP 페이지가 있습니다. 이 페이지는 고객 목록을 반환하는 메소드를 실행하고 원래 URL로 전달한 후 컨트롤러를 호출합니다.RequestDispatcher를 사용하여 URL을 유지하는 방법은 무엇입니까?

전달할 때 : request.getRequestDispatcher (urlOrigin) .forward (request, response);

(1주의 : request.getHeader ("리퍼러하는") 완전한 원점 URL을 가져 오는 데 사용되었다)

(주 2 :이 이름의 페이지를 전체 원점 URL을 분할받을 수있는 방법)

을 그 이후, 나는 browsear에 다음 URL이 있습니다, 내가 고객을 검색하면

(http://domain/ProjetoT/mvc) 

그것의 내 컨트롤러의 URL이

다시 작동하지 않습니다를 제어하기 때문에 ler url은 origin url로 인식됩니다.

I 사용해보기 : response.Sendredirect (urlOrigin);

하지만 내 물건을 잃어 버렸고 고객 목록이 렌더링되지 않았습니다.

누구든지 나를 도울 수 있습니까?

감사합니다.

답변

0

브라우저에서 직접적으로 JSP 페이지에 액세스하는 대신 검색을 처리하는 데 사용되는 동일한 컨트롤러를 통해 액세스 할 수 있습니다. 이렇게하려면 초기 디스플레이 모드에 있거나 "제출"모드에 있는지 감지하도록 컨트롤러를 프로그래밍해야합니다. 이는 일반적으로 제출시 전송되는 매개 변수의 존재 여부를 검사하여 수행됩니다.

초기 디스플레이 모드에서 컨트롤러는 더 이상 처리하지 않고 JSP로 전달하지만 제출 모드에서는 현재 수행중인 작업을 수행합니다. 이 방법을 사용하면 초기 표시와 제출에 동일한 URL을 사용하게되며 설명한 문제는 사라집니다 (즉, 질문이 올바르게 이해되는 경우).

관련 문제