2017-04-09 3 views
0

SpringブートWebアプリケーションでは、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

Yeaa、今私はそれを持っている:)助けてくれてありがとう! Btw。私のコードは実際にはひどかった:) – crooked

関連する問題