Đưa dữ liệu vào model trong controller của Spring MVC

Trong mô hình MVC, controller sẽ đưa dữ liệu vào model và những dữ liệu này sẽ được sử dụng trên view. Trong bài viết này, chúng ta sẽ tìm hiểu làm thế nào để đưa dữ liệu vào model trong controller của Spring MVC các bạn nhé!

Spring MVC thể hiện rất rõ mô hình MVC, nó cung cấp cho chúng ta một số đối tượng để lưu trữ dữ liệu cho model, đó là:

  • java.util.Map
  • org.springframework.ui.Model
  • org.springframework.ui.ModelMap

Chúng ta chỉ cần khai báo các đối tượng này là một tham số của phương thức trong controller của Spring MVC. Mỗi đối tượng sẽ có các phương thức giúp chúng ta có thể thêm dữ liệu vào model với key và value.

Sử dụng đối tượng Model

Trong ví dụ của bài viết trước, phương thức home() đã sử dụng đối tượng Model để lưu trữ dữ liệu cho model:

Như các bạn thấy, trong đối tượng Model có phương thức addAttribute() được sử dụng để thêm dữ liệu vào model. Phương thức này có 2 tham số với key kiểu dữ liệu String và value kiểu dữ liệu Object.


Sử dụng đối tượng Map

Với đối tượng Map thì có lẽ các bạn sẽ quen thuộc hơn vì nó là một đối tượng của Java. Chúng ta có thể khai báo như sau:

Sử dụng đối tượng ModelMap

ModelMap là đối tượng implement Map interface trong Java nên nó cũng tương tự như đối tượng Map ở trên. Chúng ta có thể sử dụng phương thức put() của đối tượng Map, ngoài ra ModelMap còn hỗ trợ một số phương thức khác để đưa dữ liệu vào model.

Chúng ta có thể khai báo như sau:

Kết quả

Tất cả các đối tượng trên đều cho chúng ta kết quả như nhau:

Đưa dữ liệu vào model trong controller của Spring MVC

6 thoughts on “Đưa dữ liệu vào model trong controller của Spring MVC

  1. Mình thấy có 1 cách khác nữa là dùng ModelAndView để đưa dữ liệu cho view, vậy cái này có gì khác so với 3 đối tượng trên?

    1. ModelAndView cũng là để đưa dữ liệu cho view nhưng chỉ khác ở chỗ bạn phải thêm tên view vào nữa mà thôi. Mình cũng hay dùng cách này

Add Comment