2017-01-16 17 views
0

は、ここで入力フィールドの電子メール&パスワードを使用して、私のフォームでThymeleaf th:href他の入力フィールドの値を取得しますか?

<form class="form-signin" th:action="@{/login}" method="post"> 
    <input type="email" name="email" id="inputEmail" class="form-control" placeholder="Email address" required="required" autofocus="autofocus" /> 
    <input type="password" name="password" id="inputPassword" class="form-control" placeholder="Password" required="required" /> 
    <button class="btn btn-lg btn-primary btn-block btn-signin" type="submit">Sign in</button> 
</form> 

私はパラメータを使用してGETリクエストを送信するためにThymeleaf th:hrefを試してみたい、ここに

は私のコードです:

<a href="#" th:href="@{/user/forgot_password{email}(email=$(inputEmail).val())}" class="forgot-password"> Forgot the password? </a> 

マイスプリングブートコントローラ:

@RequestMapping(value = "/forgot_password", params = {"email!="}, method = RequestMethod.GET) 
public @ResponseBody RespCommon forgotPassword(
    @RequestParam(value = "email", required = true) String email) { 
    userService.forgotPassword(email); 
    return new RespCommon(ResultCode.SUCCESS, "Send forget password mail succeed"); 
} 

しかし、それは動作していないようだ、いくつかの他の入力フィールド値を取得する方法を共有することができます、ありがとう!

答えて

0

パスワードを復元するためのリンク(したがって、GETメソッド)を使用しても、私にとっては良い考えではありません。たとえば、ブラウザや電子メールクライアントがそれに従う可能性があります。

代わりに、リンクのように見えるフォーム(POSTメソッド付き)を使用することをお勧めします。 hiddenフィールドに電子メールを入力し、送信ボタンにbtn btn-linkクラスを追加することができます。電子メールの値を入力するには、Model.addAttribute()を使用してコントローラから値をエクスポートします。

+0

はい、また私はSlava Semushinと同意します...メールは秘密の問題で、外部からのリクエストには暗号化する必要があります。例えば、 'unsubscribe email'リンクです。あなたは@ Tommy Yehメソッドを取得するのではなく、リクエスト後にフォームを使うべきです – Johir

関連する問題