2017-09-08 12 views
0

私はHTML私は、HTMLフォームでPUTデータを送信することはできません

<form th:action="@{/forgotPassword}" th:object="${forgotPasswordDTO}" method="POST" role="form" id="forgotPasswordForm"> 
    <input type="hidden" name="_method" value="PUT"/> 
... 

で作成したフォームを持っていると私は

@PutMapping("/forgotPassword") 
    public ModelAndView recoverPassword(
      @ModelAttribute("forgotPasswordDTO") @Valid ForgotPasswordDTO forgotPasswordDTO, 
      BindingResult result, 
      ModelMap modelMap 
    ) { 
... 

しかしBindingResultはまだので、私にエラーを返すコントローラにデータを送信したいです@ModelAttributeオブジェクトのフィールドはnullです。

htmlフォームを使用してPUTクエリを送信できますか?

+3

'method =" POST "' ?? –

+0

何がmethod = "POST"ですか? –

+0

コードの先頭行 –

答えて

0

あなたがSpring Boot 1.5.6を使用している場合、私は、あなたがエミュレートしているThymeleaf th:method = "put"に気付きました。 th:method = "post"に置き換えて、コントローラーメソッドを@PostMethodに変更すると、フォームの入力が開始され、正しく検証されます。バージョン1.5.4に戻すと、私の問題が修正されました。両方のバージョンで同じフィルタが適用されていますが、1.5.6バージョンではコントローラに空のフォームが表示されます。私は自分のプロジェクトのうち2つをチェックしており、同じ動作を示しています。

+0

春のブート1.5.7が出てきて、問題を修正したようです。 –

関連する問題