Spring MVC-TIL (8)
[参考講座]金英漢のSpring MVC 1編-バックエンドWeb開発キーテクノロジー
@RequestMapping
Springは@requestmappingプレゼンテーションを使用した非常に柔軟で実用的なコントローラを作成しました.
@RequestMapping RequestMappingHandlerMapping RequestMappingHandlerAdapter 最も優先度の高いHandlerマッピングとHandlerアダプタは、requestMappingHandlerマッピング、requestMappingHandler Adapterです.
これが、現在スプリングで主に使用されているアニメーションベースのコントローラをサポートするHandlerマッピングとアダプタです.実務でも使う.
@Controller: スプリングは自動的にスプリングシートとして登録される.(内部に@Component Anotationがあり、素子スキャンに使用可能) はSpring MVCにおいてノイズベースのコントローラと考えられる. @RequestMapping
マッピング 要求情報.URLを呼び出すと、このメソッドが呼び出されます. @ModelAndView モデルとビュー情報を含んで戻ってください. mv.addObject("member",member)
スプリングで提供されるModelAndViewでモデルデータを追加する場合はaddObject()を使用できます.このデータは、後続のビューをレンダリングするために使用されます.
ex)
クラスレベル@requestmapping("/springmvc/v 2/members")
メソッドレベル@requestmapping("/new-form")
最終組み合わせ:/springmvc/v 2/members/new-form
save()、members()を表示すると、パラメータとして受け入れモデルを決定できます.
View Nameに直接戻る
ビューの論理名を返すことができます.
@RequestParamの使用
Springは、HTTP要求パラメータ@RequestParamを受信することができる.
@RequestParam("username")はrequestです.getParameter(「username」)とほぼ同じコードと見なすことができます.
💡 スプリングMVC-構造を知る
▼▼スタートスプリングMVC
@RequestMapping
Springは@requestmappingプレゼンテーションを使用した非常に柔軟で実用的なコントローラを作成しました.
@RequestMapping
これが、現在スプリングで主に使用されているアニメーションベースのコントローラをサポートするHandlerマッピングとアダプタです.実務でも使う.
SpringMemberFormControllerV 1-会員登録フォーム
@Controller
public class SpringMemberFormControllerV1 {
@RequestMapping("/springmvc/v1/members/new-form")
public ModelAndView process() {
return new ModelAndView("new-form");
}
}
マッピング
SpringMemberSaveControllerV 1-メンバーの保存
@Controller
public class SpringMemberSaveControllerV1 {
private MemberRepository memberRepository = MemberRepository.getInstance();
@RequestMapping("/springmvc/v1/members/save")
public ModelAndView process(HttpServletRequest request, HttpServletResponse response) {
String username = request.getParameter("username");
int age = Integer.parseInt(request.getParameter("age"));
Member member = new Member(username, age);
memberRepository.save(member);
ModelAndView mv = new ModelAndView("save-result");
mv.addObject("member", member);
return mv;
}
}
スプリングで提供されるModelAndViewでモデルデータを追加する場合はaddObject()を使用できます.このデータは、後続のビューをレンダリングするために使用されます.
SpringMemberListControl-V 1-メンバーリスト
@Controller
public class SpringMemberListControllerV1 {
private final MemberRepository memberRepository = MemberRepository.getInstance();
@RequestMapping("/springmvc/v1/members")
public ModelAndView process() {
List<Member> members = memberRepository.findAll();
ModelAndView mv = new ModelAndView("members");
mv.addObject("members", members);
return mv;
}
}
▼▼コントローラ統合
SpringMemberControllerV2
@Controller
@RequestMapping("/springmvc/v2/members")
public class SpringMemberControllerV2 {
private final MemberRepository memberRepository = MemberRepository.getInstance();
@RequestMapping("/new-form")
public ModelAndView newForm() {
return new ModelAndView("new-form");
}
@RequestMapping("/save")
public ModelAndView save(HttpServletRequest request, HttpServletResponse response) {
String username = request.getParameter("username");
int age = Integer.parseInt(request.getParameter("age"));
Member member = new Member(username, age);
memberRepository.save(member);
ModelAndView mv = new ModelAndView("save-result");
mv.addObject("member", member);
return mv;
}
@RequestMapping
public ModelAndView members() {
List<Member> members = memberRepository.findAll();
ModelAndView mv = new ModelAndView("members");
mv.addObject("members", members);
return mv;
}
}
クラスレベルに@RequestMappingを配置すると、メソッドレベルと組み合わせられます.ex)
クラスレベル@requestmapping("/springmvc/v 2/members")
メソッドレベル@requestmapping("/new-form")
最終組み合わせ:/springmvc/v 2/members/new-form
▼▼▼▼実用的な方法
SpringMemberControllerV3
@Controller
@RequestMapping("/springmvc/v3/members")
public class SpringMemberControllerV3 {
private final MemberRepository memberRepository = MemberRepository.getInstance();
@GetMapping("/new-form")
public String newForm() {
return "new-form";
}
@PostMapping("/save")
public String save(
@RequestParam("username") String username,
@RequestParam("age") int age,
Model model) {
Member member = new Member(username, age);
memberRepository.save(member);
model.addAttribute("member", member);
return "save-result";
}
@GetMapping
public String members(Model model) {
List<Member> members = memberRepository.findAll();
model.addAttribute("members", members);
return "members";
}
}
モデルパラメータsave()、members()を表示すると、パラメータとして受け入れモデルを決定できます.
View Nameに直接戻る
ビューの論理名を返すことができます.
@RequestParamの使用
Springは、HTTP要求パラメータ@RequestParamを受信することができる.
@RequestParam("username")はrequestです.getParameter(「username」)とほぼ同じコードと見なすことができます.
Reference
この問題について(Spring MVC-TIL (8)), 我々は、より多くの情報をここで見つけました https://velog.io/@yulhee741/Spring-MVC-TIL-8テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol