Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
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)