2014-07-05 3 views
1

나는 스프링 MVC 프레임 워크를 살펴보고있다. 그래서 그것에 익숙하지 않다. pls는 기본적인 질문을 용서한다. 하지만 뷰 분석기가 작동하는 방식을 파악하려고합니다. Spring MVC의 기본 뷰 해상도

나는 다음과 같이 사용자를 추가 할 기본 컨트롤러 방법을 만들어 :

@RequestMapping(value = "/add", method = RequestMethod.POST) 
    public String addUser(@ModelAttribute("user") User user, BindingResult result) { 
     logger.entry(user, result); 
     userRepository.save(user); 

     String returnString="redirect:members/confirmation"; 
     logger.exit(returnString); 
     return returnString; 
    } 

나는 그것이 WEB-INF/페이지 폴더에 회원/confirmation.jsp 페이지로 리디렉션합니다. 그것은 "등록 해 주셔서 감사합니다"라고하는 단순한 JSP입니다. 리디렉션은 양식 이중 게시를 허용하지 않습니다.

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/pages/"/> 
     <property name="suffix" value=".jsp"/> 
     <property name="order" value="0"/> 
    </bean> 

그러나 확인보기로 해결, 그냥 404의 아니에요 : 나는 MVC-디스패처-servlet.xml에 구성 파일에서 internalviewresolver을 구성

(이건 그냥 기본 테스트 응용 프로그램입니다).

무엇이 여기에 있습니까?

감사합니다. 반환 "redirect:members/confirmation"

리치

+0

또한 리디렉션 접두사를 제거하면 올바르게 작동합니다. –

+0

리디렉션 및 전달을 확신하고 있습니다. 리다이렉트 (redirect)는 브라우저에 응답을 보내 다른 위치로 요청을 되돌려달라고 요청하는 것을 의미합니다. 당신이 원하는 것은 앞으로입니다. redirect : 접두사를 사용하지 마십시오. –

+0

중복 된 양식 제출 문제를 방지하려면 리디렉션이 권장되는 방법입니까? http://stackoverflow.com/questions/2324931/duplicate-form-submission-in-spring –

답변

2

(이 상대 URL로) 클라이언트 측 members/confirmation로 리디렉션한다. 현재 응용 프로그램에서 members/confirmation에 대한 HTTP 요청에 응답하지 않습니다. 대상 JSP 페이지를 뷰로 사용하여이 URI에 대한 컨트롤러를 작성하십시오.

@RequestMapping(value = "/members/confirmation", method = RequestMethod.GET) 
public String confirmation() { 

    return "members/confirmation"; 
} 

올바른 방법은이 방법을 사용하는 것입니다.