Chào bạn, trong bài viết hôm nay anh sẽ giới thiệu cho các bạn phân biệt Model, ModelMap, Map và ModeAndView.
- Kiểm tra và sửa lỗi ổ cứng bằng lệnh chkdsk trên Windows
- Cơ quan quản lý EU cho biết việc mua lại nhà sản xuất máy hút bụi iRobot của Amazon có thể gây tổn hại đến cạnh tranh
- Các chuyên gia cho biết meta cho phép quảng cáo từ chối bầu cử có thể làm trầm trọng thêm sự mất lòng tin vào nền dân chủ
- Cơ quan quản lý EU cho biết việc mua lại nhà sản xuất máy hút bụi iRobot của Amazon có thể gây tổn hại đến cạnh tranh
Chúng ta sử dụng Interface Model để truyền dữ liệu từ Controller sang View để hiển thị . Spring cho phép chúng ta sử dụng Model như là một tham số trong method của Controller nên chúng ta dễ dàng lấy, chỉnh sửa dữ liệu để truyền qua cho View.
Bạn đang xem: Sử dụng Model ModelMap ModelView trong SpringMVC
Như vậy model như là một cầu nối dữ liệu giữa Controller và View. Tầng view có nhiệm vụ hiển thị dữ liệu ra cho người dùng và dữ liệu đó được controller truyền sang cho view. View sẽ kết hợp dữ liệu thô từ controller với HTML,CSS,JS để cho ra một trang web đẹp và hoàn chỉnh.
Trong method getWithModel chúng ta có tham số là Model model. Chúng ta sử dụng nó bằng các thêm các giá trị mà chúng ta mong muốn tầng View sẽ sử dụng. Model hỗ trợ ta phương thức addAttribute, anh ví dụ như chúng ta muốn truyền đối tượng greeting từ controller qua cho view thì ta thêm như sau : model.addAttribute(“greeting”, greeting). Trong đó tham số đầu tiên là tên (greeting) nhờ có tên này mà mình có thể lấy ra đối tượng greeting bên view. Tham số thứ 2 là đối tượng mình mong muốn truyền qua cho View
Xem thêm : Cách sử dụng baking soda làm trắng răng hiệu quả tại nhà
Như vây tầng view chúng ta có thể lấy data truyền từ model như sau
Chúng ta sử dụng ${greeting.name} để lấy giá trị bên controller gửi qua. Đây là cách đọc giá trị từ controller qua view bằng kỹ thuật Thymeleaf sử dụng cú pháp ${} . Ngoài Thymeleaf chúng ta còn nhiều kỹ thuật khác như Velocity, Jstl ect.
ModelMap cũng tương tư như Model. Chúng ta có thể sử dụng ModelMap như một tham số trong method của Controller.
Trong phương thức getWithModelMap ta có thêm tham số là ModelMap modelMap thay vì Model
Map cũng tương tự như Model. Chúng ta có thể sử dụng Map như một tham số trong method của Controller.
Trong phương thức getWithModelMap ta có thêm tham số là Map gồm có key và value và ta sử dụng phương thức put thay vì addAttribute như model và modelmap
Là sự kết hợp của 2 khía cạnh truyền dữ liệu và view. Như ta thấy ở ví dụ trên ta dùng 2 dòng code.
-
model.put(“greeting”, greeting); gán dữ liệu greeting cho biến greeting.
-
return “greet” ; trả về trang view là greet.html. Chúng ta sử ModelAndView(“greet”, modelMap) để thực hiện việc , trả về trang greet.html và mode 1 lần .
- Model là một interface trong khi đó ModelMap là một Class.
- Model là một interface nó chứa đựng 4 phương thức addAttribute và một phương thức mergeAttribute .
- ModelMap cài đặt lớp Map interface. Nên nó thêm các phương thức của Map.
- ModelAndView là sự kết hợp của 2 mục đích ModelMap and View . Nó cho phép controller trả về 1 giá trị bao gồm Model và View .
7. Source code
Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm
Các khoá học lập trình MIỄN PHÍ tại đây
Nguồn: https://ppe.edu.vn
Danh mục: Công Nghệ