2012-12-22 5 views
0

의 반환 페이지 중 흐름을 스택을 포함 얻는 방법, 나는 그것은 흐름을 통해 스택을 얻고있다 페이지가 컨트롤러로가는 것처럼 보이고 컨트롤러가 페이지를 반환하면 다시 계속됩니다. 봄, 나는 스프링 MVC 컨트롤러가 스프링 MVC 컨트롤러

내 구성은

<bean id="viewResolver" 
class="------" 
<property name="prefix"> 
<value> /jsps/ </value> 
</property> 
<property name="suffix"> 
<value> .jsp </value> 
</property> 

과 불완전 코드에 대한 죄송합니다

<map> 
<entry key="jsps/welcome.jsp"> 
<ref bean="mycontroller"/> 

, 나는 그것을 복사 및 붙여 넣기 할 수없는 urlmapping, 어떤 조언을 무엇입니까?

답변

0

두 가지

URL 맵핑의
  1. , 더 나은 * .jsp로를 사용할 수 없습니다. jsps/welcome 또는 jsps/welcome.htm과 같은 것을 사용하십시오.
  2. 보기를 반환하려면 ModelAndVeiw을 사용하십시오.

UPDATE

이러한 변경

여기
@requestmapping("jsps/welcome") 
public String handleRequest(){ 
system.out.println("inside the handler"); 
return new ModelAndView("yourpathtojspfile");} // can be "jsps/welcome" 

,이 페이지

('JSP를/오신 것을 환영합니다'당신이 위해 welcome.jsp 얻을 것이다으로) 뷰를 반환합니다 확인 문자열을 반환하면 사용하는 옵션이 사용됩니다.

return "redirect:someUrl"; //But this will not return a view, instead search for the mapping someUrl. 
+0

같은 다른 url without .jsp에 URL 매핑을 변경하는 것입니다, 나는 점점 오전 매핑 내가 내 대답 : 업데이트 한 :( – user1861639

+0

발견 – shazinltc

0

예, 컨트롤러는 "welcome" 문자열을 반환하며보기 확인자는 "jsps/welcome.jsp"으로 수정합니다. 다시 메서드를 호출합니다.

변경 @requestmapping("jsps/welcome.jsp") 다른 것으로 일반적으로 우리는 다음이

과 같은 welcome.htm 뭔가가 handleRequest 메소드를 호출 welcome.htm 충돌이, 방법은 "welcome"을 반환하고 뷰 리졸버는 "jsps/welcome.jsp"로 변환한다.

0

이유가 분명합니다. jsps/welcome.jsp에 대한 요청은 "welcome"이라는보기로 전달되는 컨트롤러 메서드를 호출합니다.이 메서드는 URL jsps/welcome.jsp으로 다시 해석되고 메서드를 다시 호출합니다. 그래서 StackOverFlow가 던져 질 때까지 계속됩니다.

솔루션 내가 .jsp를 제거하려고 할 때

@Requestmapping("/welcome") 
public String handleRequest(){ 
    system.out.println("inside the handler"); 
    return "welcome"; 
}