2016-11-01 7 views
0

ポストモデルを受け取り、同時にタイムリーフテンプレートにヴァルスを送るスプリングブーツで? POSTメソッドで同じコントローラから同じ時刻にヴァルスを送り、モデルを受信する方法は?

@Controller 
public class ProfilingController { 

    @GetMapping("/") 
    public String main(Model model){ 

     FormModel form_model = new FormModel(); 
     model.addAttribute("form_model", form_model); 
     model.addAttribute("demo", "abc"); 

     return "main_template"; 
    } 

    @PostMapping("/") 
    public String receive(@ModelAttribute ModelForm form_model){ 

     FormModel form_model = new FormModel(); 

     // How to set model to send the var to thymeleaf template? 
     model.addAttribute("form_model", form_model); 
     model.addAttribute("demo", "abc"); 

     return "main_template"; 
    } 
} 

場合は送信2つのparamsが動作しない場合は?テンプレートにVARSを送信するためにモデルを設定する方法、モデルをreceibe:

@PostMapping("/") 
public String receive(Model model, @ModelAttribute ModelForm form_model){ 

model_formは空です。

テンプレート:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Demo</title> 
    </head> 
    <body> 
     <form class="form-signin" action="#" method="post" th:action="@{/}" th:object="${form_model}"> 
      <input th:field="*{email}" required="required" type="email" /> 
      <input th:field="*{password}" type="password" /> 
      <p th:text="${demo}"></p> 
      <button type="submit">Submit</button> 
     </form> 
    </body> 
</html> 
+0

、変数 'ModelMap model' 1以上を追加し' model'オブジェクトに所望の特性を追加しよう.. –

+0

モデルオブジェクトが正常に動作しますが、form_modelが空である:( –

+0

することができますあなたは 'FormModel'の基本コードを提供しています。getters/setterを持っていますか?もう一度、空のオブジェクトを作成しています(デフォルトのコンストラクタ' FormMode() 'を使用しているからです) –

答えて

1

あなたは以下のようにModelMapでこれを行うことができます。

私はあなたが戻ってユーザーに送信するために、受信したデータを保持する必要があると仮定して、新たなform_modelオブジェクトの作成をコメントしています。ポストマッピングメソッドの引数で

@PostMapping("/") 
    public String receive(@ModelAttribute ModelForm form_model, ModelMap modelMap){ 

     //other code to call service layer & save the data 

     //Commented new object creation for FormModel 
     //FormModel form_model = new FormModel(); 

     modelMap.addAttribute("form_model", form_model); 
     modelMap.addAttribute("demo", "abc"); 

     return "main_template"; 
    } 
関連する問題