2017-04-09 4 views
0

스프링 부트 웹 응용 프로그램에서 User은 비밀번호를 재설정하려고하므로 Reset password 페이지를 입력합니다. 이제 그에게 이메일 주소를 입력하게하고 Reset을 입력하고 비밀번호 재설정을 처리하기 위해 myapp/resetPassword?email=HIS_EMAIL으로 리디렉션하려고합니다.태그 매개 변수로 요청 매개 변수

MY 코드 :

@RequestMapping(value = "/resetPassword", method = RequestMethod.GET) 
public String resetPasswordForm(Model model){ 
    model.addAttribute("email", new String()); 
    return "resetPassword"; 
} 

@RequestMapping(value = "/resetPassword", method = RequestMethod.POST) 
public String resetPassword(@RequestParam("email") String email) { 
    User user = userService.findUserByEmail(email); 
    //playing with logic 
    return "redirect:/"; 
} 

어떻게 그것이 내 thymeleaf 페이지에서 얻을 수 있습니까? 다음과 같이 시도했습니다.

<form th:action="@{/resetPassword(email=${email})}" method="post"> 
    <input type="email" th:field="${email}" th:placeholder="Email" /> 
     <div class="clearfix"> 
      <button type="submit">Reset</button> 
     </div> 
</form> 

불행히도 내 email은 항상 null입니다. 누군가 도울 수 있습니까?

답변

4

"th : field"는 Entity-Beans 전용입니다. 이것은 작동해야합니다 :

그리고 Thymeleaf는 Javascript가 아닙니다. 서버에서 렌더링됩니다. @{/resetPassword(email=${email})}과 같이 출력하면 /resetPassword?email=anValueYouAddedToModelInController

+0

'오류 400': '필수 문자열 매개 변수'전자 메일 '이 없습니다.' – crooked

+0

죄송합니다. 내 잘못입니다. @RequestParam을 (를) 편집했습니다. 이제는 효과가 있습니다. – benkuly

+0

예아, 이제 알겠습니다. 도움에 감사드립니다! Btw. 내 코드는 실제로 끔찍 했어 :) – crooked