JSF - Vòng đời
Vòng đời ứng dụng JSF bao gồm sáu giai đoạn như sau:
- Khôi phục giai đoạn xem
- Áp dụng giai đoạn giá trị yêu cầu; xử lý sự kiện
- Giai đoạn xác nhận quy trình; xử lý sự kiện
- Cập nhật các giá trị mô hình giai đoạn; xử lý sự kiện
- Gọi giai đoạn ứng dụng; xử lý sự kiện
- Kết xuất giai đoạn phản hồi
Sáu giai đoạn hiển thị thứ tự mà JSF xử lý một biểu mẫu. Danh sách hiển thị các giai đoạn theo thứ tự có thể thực hiện của chúng với xử lý sự kiện ở mỗi giai đoạn.
Giai đoạn 1: Khôi phục chế độ xem
JSF bắt đầu giai đoạn xem khôi phục ngay sau khi một liên kết hoặc một nút được nhấp vào và JSF nhận được yêu cầu.
Trong giai đoạn này, JSF xây dựng chế độ xem, kết nối các trình xử lý sự kiện và trình xác nhận đến các thành phần UI và lưu chế độ xem trong cá thể FacesContext. Cá thể FacesContext bây giờ sẽ chứa tất cả thông tin cần thiết để xử lý một yêu cầu.
Giai đoạn 2: Áp dụng các giá trị yêu cầu
Sau khi cây thành phần được tạo / khôi phục, mỗi thành phần trong cây thành phần sử dụng phương thức giải mã để trích xuất giá trị mới của nó từ các tham số yêu cầu. Thành phần lưu trữ giá trị này. Nếu chuyển đổi không thành công, một thông báo lỗi sẽ được tạo và xếp hàng đợi trên FacesContext. Thông báo này sẽ được hiển thị trong giai đoạn phản hồi kết xuất, cùng với bất kỳ lỗi xác thực nào.
Nếu bất kỳ trình nghe sự kiện nào của phương thức giải mã được gọi là renderResponse trên cá thể FacesContext hiện tại, thì JSF sẽ chuyển sang giai đoạn phản hồi kết xuất.
Giai đoạn 3: Xác thực quy trình
Trong giai đoạn này, JSF xử lý tất cả các trình xác thực được đăng ký trên cây thành phần. Nó kiểm tra các quy tắc thuộc tính thành phần để xác thực và so sánh các quy tắc này với giá trị cục bộ được lưu trữ cho thành phần.
Nếu giá trị cục bộ không hợp lệ, JSF sẽ thêm thông báo lỗi vào cá thể FacesContext và vòng đời chuyển sang giai đoạn phản hồi kết xuất và hiển thị lại cùng một trang với thông báo lỗi.
Giai đoạn 4: Cập nhật giá trị mô hình
Sau khi JSF kiểm tra xem dữ liệu có hợp lệ không, nó sẽ đi qua cây thành phần và đặt các thuộc tính đối tượng phía máy chủ tương ứng thành các giá trị cục bộ của thành phần. JSF sẽ cập nhật các thuộc tính bean tương ứng với thuộc tính giá trị của thành phần đầu vào.
Nếu bất kỳ phương thức updateModels nào được gọi là renderResponse trên cá thể FacesContext hiện tại, JSF sẽ chuyển sang giai đoạn phản hồi kết xuất.
Giai đoạn 5: Gọi đơn đăng ký
Trong giai đoạn này, JSF xử lý bất kỳ sự kiện cấp ứng dụng nào, chẳng hạn như gửi biểu mẫu / liên kết đến một trang khác.
Giai đoạn 6: Kết xuất phản hồi
Trong giai đoạn này, JSF yêu cầu máy chủ chứa / ứng dụng hiển thị trang nếu ứng dụng đang sử dụng các trang JSP. Đối với yêu cầu ban đầu, các thành phần đại diện trên trang sẽ được thêm vào cây thành phần khi vùng chứa JSP thực thi trang. Nếu đây không phải là một yêu cầu ban đầu, cây thành phần đã được xây dựng nên không cần thêm lại các thành phần. Trong cả hai trường hợp, các thành phần sẽ tự hiển thị khi bộ chứa JSP / Máy chủ ứng dụng truyền qua các thẻ trong trang.
Sau khi nội dung của chế độ xem được hiển thị, trạng thái phản hồi được lưu để các yêu cầu tiếp theo có thể truy cập nó và nó có sẵn cho giai đoạn chế độ xem khôi phục.