spring-mvc
2013-03-21 3 views 1 likes 
1

Spring Mvc.Here를 사용하고 있습니다. JSP를보기로 사용했습니다.spring mvc에서 다른 컨트롤러로 리디렉션

I가되는 제가

<c:redirect url="updateStock.ic?appId='${mineralSelect.applicationId}'&serviceId='${mineralSelect.serviceId}'&mineralIdAndName='${mineralList.get(0).mineralId}:${mineralList.get(0).mineralName}'"/> 

그러나 그것을 사용한

다른 제어를 실시하는 형태에서, 또 다른 제어를 실시하는 다른 형태로 리디렉션해야하는 상황이 가 실행되지만 페이지는 렌더링되지 않습니다. 그러나 콘솔보기에는 예외 페이지가 없습니다.

+0

로그 수준을 디버그로 설정해보십시오 (어떤 종류의 로깅 프레임 워크를 사용하고 있다고 가정합니다 ...) 로그를 확인하십시오. 일반적으로 잘못된 점에 대한 힌트가 있습니다. – NilsH

+1

컨트롤러에서가 아니라 JSP에서 리디렉션을 수행하는 이유를 묻는 질문을 할 수 있습니까? – CodeChimp

답변

1

내 의견에 대한 답변을 얻지 못했기 때문에 가능한 한 제한된 지식으로 최선의 답변을 제공하려고 노력할 것입니다.

먼저 JSP에 리디렉션을 넣는 것이 좋지 않은 행동이라고 생각합니다. 솔직하게 말해서 JSP의 단순한 루프 및 의사 결정 브랜치 이외의 다른 것을 넣는 것은 나쁜 습관이라고 생각합니다. 리디렉션에 대한 결정을 "비즈니스 논리"결정으로 간주하고 JSP에서 내리지 않는 결정을 고려할 것입니다. Spring MVC는 컨트롤러에서 리다이렉트를 수행하는 몇 가지 방법을 제공한다. JSP에서 리딩을 수행하도록 JSP를 렌더링하지 않아도된다는 이점이있다. This posting에는 컨트롤러에서 리디렉션을 수행하는 방법에 대한 몇 가지 예가 있습니다.

JSP에서 리디렉션을 수행하는 데 여전히 마음이 있으면, 리디렉션이 전혀 없는지 확인하기 위해 몇 가지 테스트 도구를 사용하는 것이 좋습니다. Chrome의 개발자 도구와 Firefox의 Firebug는 브라우저로 전송되는 정보를보고합니다. Fiddler는 이러한 것들을위한 좋은 도구이기도합니다. 당신이 찾고있는 것은 HTTP 3xx 헤더, 아마도 당신이 리디렉션하려고하는 URL을 가진 302 일 것입니다.

브라우저에서 HTTP 3xx 응답이 표시되지 않는 경우 문제를 해결할 시간입니다.

  1. 가 렌더링되는 경우 JSP 이제까지 내가 리디렉션 주위에 디버그 문을 세우면 어떤 일이 발생, 모든
  2. 에서 렌더링 : 다음 질문으로 시작?
  3. 는도 실행되지 일으키는 내 리디렉션 주위에 약간의 논리를 확장 한 다음, 디버그 인쇄 및 로깅을 추가, 최대한 원본에 가깝게

시작이 (디버그 문이에 회피 수)인가 당신이 일하고 있고 작동하지 않는 것을 결정할 때까지 다음 가장 넓은 지역으로 나가십시오.

관련 문제