Hiểu cơ chế buộc dữ liệu Xây dựng form trong Spring ModelAttribute Ưu điểm của form Spring Sử dụng List Control Tìm hiểu cơ kết buộc dữ liệu 2 chiều Sử dụng thuộc tính modelAttribute để kết nối attribute trong model với form Sử dụng path=“property” để buộc thuộc tính của bean vào các điều khiển form Đổ dữ liệu vào List Control Biết cách sử dụng ModelAttribute Khai thác một số thuộc tính khác của các điều khiển Spring
Lập trình Java Bài 3: Làm việc với form Mục tiêu Hiểu chế buộc liệu Xây dựng form Spring @ModelAttribute Giới thiệu Databinding? Databinding kết nối liệu bean đặt model đến điều khiển form Khi thay đổi liệu bean liệu điều khiển thay đổi theo Ràng buộc liệu chiều chiều Chiều lên: chuyển liệu từ điều khiển vào thuộc tính bean Chiều về: hiển thị liệu từ thuộc tính bean lên điều khiển form Controls databinding Bean MODEL FORM Buộc liệu với thẻ HTML? Bạn buộc liệu từ thuộc tính bean vào điều khiển HTML cách sử dụng biểu thức EL Buộc liệu với thẻ HTML? Dù hồn tồn buộc liệu từ bean model lên form với EL gặp phải số hạn chế sau: Phải viết mã giao diện, dài dòng, khó quản lý Đổ liệu vào List Control trở nên phức tạp khó khăn Combox Listbox Radiobuttons Checkboxes Kiểm thông báo lỗi Spring Form Spring MVC cung cấp thư viện thẻ giúp việc buộc liệu từ bean vào điều khiển trở nên dễ dàng Sau khai báo thư viện thẻ đầu trang JSP, tạo form ràng buộc liệu Tên bean đặt Thẻ thư viên form model Tên thuộc tính bean user Ưu điểm form Spring? Cung cấp chế buộc liệu lên điều khiển Form đơn giản, rõ ràng, dễ hiểu Khi thay đổi liệu bean liệu điều khiển thay đổi theo Cấp liệu vào List Control trở nên đơn giản Kiểm hiển thị lỗi cách dễ dàng Tình buộc liệu StudentController stu ed nt/ e d tm it.h edit() Tạo b ean Model student For m có d ữl iệu View Sử g dụn n be a student.jsp Người sử dụng yêu cầu student/edit.htm Phương thức edit() tạo bean đặt vào model View chứa form buộc liệu từ bean model lên điều khiển form Lớp bean Trường chứa liệu Các constructor Các phương thức getter/setter Lớp StudentController Trong model có bean student Khi gọi student/edit.htm phương thức action edit() chạy edit() tạo đối tượng sv đặt vào model với tên student để chuyển sang view student.jsp Lập trình Java Phần Sử dụng List Control Các điều khiển sử dụng để tạo List Control ComboBox Đổi từ nhập liệu sang chọn mục ComboBox Để đạt điều mong muốn cần thay đổi StudentController: phải cung cấp liệu dạng Array, Collection Map vào model Student.jsp: phải thay điều khiển đổ liệu vào Đổ liệu vào ComboBox String[] Đổ liệu vào ComboBox Thay đổi StudentController Bổ sung phương thức getMajors() @ModelAttribute(“majors”) đặt kết phương thức vào Model với tên majors Dữ liệu sử dụng để đổ vào ComboBox Thay đổi view (student.jsp) Thay Thuộc tính items liệu (Collection, Map hay mảng) đặt Model để đổ vào ComboBox @ModelAttribute Trong Spring MVC @ModelAttribute sử dụng để bổ sung attribute vào model trường hợp: @ModelAttribute(name) argument Sẽ bổ sung attribute có tên name có giá trị giá trị đối số phương thức action Tương đương: model.addAttribute(name, argument) @ModelAttribute(name) method Sẽ bổ sung attribute có tên name có giá trị kết phương thức Tương đương: model.addAttribute(name, method()) Trong view bạn sử dụng attribute bình thường: buộc vào form, sử dụng EL, đổ vào ListControl Đổ liệu vào ComboBox List Đổ liệu vào ComboBox Map Đổ liệu vào ComboBox List DEMO Chạy student2/edit.html + Thay đổi + Thay đổi getMajors() Đổ liệu vào List Control items: tập liệu đổ vào ComboBox itemValue itemLabel sử dụng tập items Collection itemValue: tên thuộc tính để làm giá trị itemLabel: tên thuộc tính để làm nhãn (nhìn thấy) List Control khác có cú pháp với select Đổ liệu vào List Control DEMO Thay đổi Các thuộc tính thường dùng Thẻ Spring có số thuộc tính thường dùng sau: cssClass: thay cho thuộc tính class HTML disabled: thay cho thuộc tính disabled HTML readonly: thay cho thuộc tính readonly HTML cssErrorClass: cho class định dạng thơng báo lỗi Ví dụ: Tổng kết nội dung học Tìm hiểu kết buộc liệu chiều Sử dụng thuộc tính modelAttribute để kết nối attribute model với form Sử dụng path=“property” để buộc thuộc tính bean vào điều khiển form Đổ liệu vào List Control Biết cách sử dụng @ModelAttribute Khai thác số thuộc tính khác điều khiển Spring Cảm ơn ... khiển quay trở lại form DEMO Chạy student/edit.htm giải thích + edit() + student.jsp + update() Các điều khiển form Spring Điều khiển Spring Sinh điều khiển HTML