2016-11-30 7 views
4

私はSpring Bootの新機能です。私はSpringBootとThymeleafを使って非常に基本的なアプリケーションを作成しています。この方法は、データベースからすべてのデータを表示 -Spring Boot - 別のコントローラメソッドにリダイレクト

方法1は:以下のようにコントローラにIは、2つの方法を持っている

@RequestMapping("/showData") 
public String showData(Model model) 
{ 
    model.addAttribute("Data", dataRepo.findAll()); 
    return "show_data"; 
} 

は方法2 - この方法は、データベースにデータを追加します

@RequestMapping(value = "/addData", method = RequestMethod.POST) 
public String addData(@Valid Data data, BindingResult bindingResult, Model model) { 
    if (bindingResult.hasErrors()) { 
     return "add_data"; 
    } 
    model.addAttribute("data", data); 
    investmentTypeRepo.save(data); 

    return "add_data.html"; 
} 

HTMLファイルは、これらのメソッドshow_data.htmlとadd_data.htmlに対応しています。

addDataメソッドが完了したら、データベースからすべてのデータを表示します。ただし、上記のコードは静的なadd_data.htmlページにリダイレクトされ、新しく追加されたデータは表示されません。何らかの理由でコントローラのshowDataメソッドを呼び出す必要があるので、ユーザーを/ showData URLにリダイレクトする必要があります。これは可能ですか?もしそうなら、これはどうやって行えますか?

ありがとうございます。

答えて

14

は、おかげでたくさん働いているはい

@RequestMapping(value = "/addData", method = RequestMethod.POST) 
    public String addData(@Valid Data data, BindingResult bindingResult, Model model) { 

    //your code 

    return "redirect:/showData"; 
} 
+0

、これを試してみてください! – Reshma

0

addDataリクエストからhttpステータスコード3xxを返し、redirct urlをレスポンスに挿入する必要があります。

関連する問題