1. Trang chủ
  2. » Công Nghệ Thông Tin

Slide 2 controller

36 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Conceive Design Implement Operate BUILDING CONTROLLER GIẢNG VIÊN: AGENDA REQUEST MAPPING @REQUESTMAPPING, @GETMAPPING, @POSTMAPPING USER DATA HANDLING @REQUESTPARAM , @REQUESTPART, @PATHVARUABLE, @COOKIEVALUE DATA SHARING (MODEL) MODEL, @MODELATTRIBUTE MAPPING METHOD RETURN VIEWNAME REDIRECT: FORWARD: @RESPONSEBODY (RAW DATA) MVC DESIGN PATTERN REQUEST/RESPONSE Controller ACCESS DATA MODEL Model View REQUEST SPRING MVC PROCESSING Client (Front-End) REQUEST RESPONSE (METHOD: URL?PARAMETER) (HTML) @Controller Views @RequestMapping(url, method, params) myMethod() JSP/Themeleaf Model Server (Back-End) SPRING MVC ❑Controller ❖Controller chứa mapping method điều khiển request người sử dụng ❖Để tạo request kích hoạt mapping method request chứa thơng tin định vị gồm (URL, method, params) ❑View ❖View thành phần render giao diện phía back-end Spring MVC hỗ trợ JSP html template (nếu sử dụng Themeleaf) Themeleaf cấu hình mặc định ❑Model ❖Model Scopes (Request, Session, Application) chứa liệu (các attribute) để chia sẻ với View CONTROLLER EXAMPLE ❑@Controller ❑@RequestMapping => GET:/home/index ❑@GetMapping => GET:/home/about REQUEST MAPPING ❑@RequestMapping sử dụng để ánh xạ (Method , URL Parameter) với phương thức ❖@RequestMapping(value, method, params) ❑Mapping Annotation phân biệt Method ❖@GetMapping(value, params) ➢ Chỉ với GET ❖@PostMapping(value, params) ➢ Chỉ với POST ❖@PutMapping(value, params) ➢ Chỉ với PUT (áp dụng cho REST API) ❖@DeleteMapping(value, params) ➢ Chỉ với DELETE (áp dụng cho REST API) ❖@PatchMapping(value, params) ➢ Chỉ với PATCH (áp dụng cho REST API) @REQUESTMAPPING URL TƯỜNG MINH TÁCH THÀNH PHẦN Conceive Design Implement Operate DATA SHARING AND MAPPING METHOD RETURN GIẢNG VIÊN: MODEL & @MODELATTRIBUTE ❑Model nơi chứa liệu thành phần khác tạo để chia sẻ với View ❑Trong Controller có cách để đưa liệu (attribute) vào Model với tên name giá trị value ❖Model.addAttribute(name, value) ❖MappingMethod(@ModelAttribute(name) Type value) ❖@ModelAttribute(name) Type method(){…return value;} MODE.ADDATTRIBUTE() Model name value message “Hello Spring” string now “Hello Spring” Date object date user account Date object Account object Account Object ❑Nguyên tắc tự tạo tên lấy tên kiểu biến đổi ký tự sang ký tự thường @MODELATTRIBUTE ARGUMENT Model name value date user Date object Account Object ❑Spring tự tạo đối tượng với constructor không tham số gán cho đối số có @ModelAttribute @MODELATTRIBUTE METHOD() Model name value now Date object account Account Object ❑Spring lấy kết trả phương thức đưa vào Model với tên người dùng định nghĩa tự sinh MAPPING METHOD RESULTS Tên view Tên view = url Dữ liệu trực tiếp Chuyển tiếp sang url khác (same request) Chuyển hướng sang url khác (other request) RETURN VIEW NAME demo/form.jsp demo/2.jsp ❑Nếu kiểu trả mapping method void Spring lấy url làm view name FORWARD response Web Browser request ❑Forward xảy phía server request nên liệu Model được tạo url3 chuyển sang url1 REDIRECT request 2?params response Web Browser request control statement ❑Redirect trả lệnh điều khiển, yêu cầu trình duyệt tạo request khác đến url1 ❑Dữ liệu Model chia sẻ url2 url1 thay vào tham số đặt vào RedirectAttributes @RESPONSEBODY – RAW DATA CRUD CONTROLLER ORGANIZATION @/crud/index @/crud/create @/crud/delete/{id} @/crud/edit/{id} @/crud/update redirect Web Browser redirect @Controller SUMMARY Request Mapping  @RequestMapping, @GetMapping, @PostMapping User Data Handling  @RequestParam , @RequestPart, @PathVaruable, @CookieValue Data Sharing (Model)  Model, @ModelAttribute Mapping method return  ViewName  Redirect:  Forward:  @ResponseBody (Raw Data)

Ngày đăng: 21/11/2023, 07:24

w