Tôi đang so sánh ModelMap và Model từ Spring MVC. Ngoài sự khác biệt rõ ràng rằng đầu tiên là một lớp và thứ hai một giao diện là có bất kỳ sự khác biệt mà làm cho việc sử dụng một hoặc khác thích hợp hơn trong các tình huống khác nhau?Mẫu Bản đồ và Mô hình trong Mùa xuân MVC
Chủ yếu chúng được sử dụng cho cùng một mục đích (như từ spring MVC tài liệu):
java.util.Map/org.springframework.ui.Model/ org.springframework.ui.ModelMap cho làm phong phú mô hình tiềm ẩn mà hiển thị với chế độ xem web.
Chỉ có tôi đã phát hiện ra có nó mà ModelMap
được tăng cường Map
, tuy nhiên sự khác biệt cho Model
vẫn chưa rõ ràng.
Tôi có thể kết luận từ ModelMap javadoc rằng 'Mô hình' được ưu tiên cho java 5 không?
Kiểm tra giao diện Mô hình cho phiên bản giao diện dựa trên Java-5 có cùng mục đích.
Tuy nhiên dường như không ModelMap
sẽ không còn được dùng nữa. Nhưng tại sao ModelMap
không triển khai Model
?
'ExtendedModelMap' được mở rộng' ModelMap' và thực hiện 'ModelMap'. Khi sử dụng 'Model', bạn có thể gọi phương thức chain như hầu hết các phương thức trả về' Model' với một 'Map' hoặc' ModelMap' không phải như vậy. –
cảm ơn 'ExtendedModelMap'. AFAIK bạn cũng có thể thực hiện các cuộc gọi với 'Bản đồ mẫu' (khác biệt với' Bản đồ' mà tôi đã nhận thấy). – sodik
Ah vâng bạn đúng. 'ModelMap' cũng có trước giao diện' Model'. Đối với giao diện đó, về cơ bản có 2 bản triển khai, 'ExtendedModelMap' và' RedirectAttributesModelMap' (cũng có 'BindingAwareModelMap' là phần mở rộng của' ExtendedModelMap').Đối với việc sử dụng trong các phương thức ánh xạ yêu cầu, nó thực sự không quan trọng cái nào để sử dụng, mặc dù tôi có thể đề nghị sử dụng giao diện 'Model' thay vì một trong những triển khai thực hiện. Nhưng đó là rất cao :). –