Model/ModelMapの利点は、ModelAndViewとSpring MVCの違いは何ですか? ModelAndViewの代わりにModel/ModelMapを使用する必要があるとき。Model/ModelMapがModelAndViewに比べてSpring MVCのメリットは何ですか?
は、私は多くのサイトをチェックしたが答えは明確ではありません!
Model/ModelMapの利点は、ModelAndViewとSpring MVCの違いは何ですか? ModelAndViewの代わりにModel/ModelMapを使用する必要があるとき。Model/ModelMapがModelAndViewに比べてSpring MVCのメリットは何ですか?
は、私は多くのサイトをチェックしたが答えは明確ではありません!
私はいくつかのページと回答を読んでいると、本当にどんな違いがあるようには思えません。味の物質。 ModelAndView
オブジェクトはモデルとビューをラップします。 String
を返すときに暗黙的に行われているようです。あなたが好む方法を使用してください。
あなたは戻り値の型についてはここで読むことができます: - モデル https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-return-types
モデル
ここで最も基本的な概念で始まるのをしてみましょう。簡単に言えば、モデルはビューのレンダリングに使用される属性を提供できます。
が使用可能なデータとビューを提供するために、我々は、単にそのモデルオブジェクトにこのデータを追加します。また、属性を持つマップはモデルのインスタンスにマージすることができます。@GetMapping("/showViewPage")
public String passParametersWithModel(Model model) {
Map<String, String> map = new HashMap<>();
map.put("spring", "mvc");
model.addAttribute("message", "Baeldung");
model.mergeAttributes(map);
return "viewPage";
}
ただ、上記のモデル・インターフェースのような
ModelMap
は、ModelMapもビューをレンダリングするために値を渡すために使用されます。@GetMapping("/printViewPage")
public String passParametersWithModelMap(ModelMap map) {
map.addAttribute("welcomeMessage", "welcome");
map.addAttribute("message", "Baeldung");
return "viewPage";
}
のModelAndView
ビューに値を渡すために、最終的なインターフェース:ModelMapの利点は、それが私たちに値のコレクションを渡すと、彼らは地図上にあったかのように、これらの値を治療する能力を与えていますModelAndViewです。 このインタフェースは、私たちは1つのリターンでSpring MVCのに必要なすべての情報を渡すことができます:
@GetMapping("/goToViewPage")
public ModelAndView passParametersWithModelAndView() {
ModelAndView modelAndView = new ModelAndView("viewPage");
modelAndView.addObject("message", "Baeldung");
return modelAndView;
}
いいえ、私はどこかで読ん違いが1つあります。 ModelMapは、あるコントローラメソッドから別のコントローラメソッドにModelデータを送信する必要がある場合に使用されます。モデルデータを別のコントローラメソッドに引数として渡すことができます。しかし、ほんの一例を挙げて説明をしたかっただけです。 – SuryaN