2011-11-18 37 views
17

Cho đến nay tôi đã chỉ được biết đến và nhìn thấyDanh sách các sự kiện JSF 2?

<f:event type="preRenderView" listener="#{situationHelper.load}"/> 

và tôi tự hỏi, nơi tôi có thể tìm thấy một danh sách các trang khác (hoặc xem) các sự kiện khác hơn preRenderView?

Đặc biệt, tôi đang tìm kiếm một sự kiện được kích hoạt trước các proccess ràng buộc, (preRenderView chạy sau khi các thành phần đang bị ràng buộc)

Cảm ơn.

+1

Điều này có hữu ích không. http://javaserverfaces.java.net/nonav/docs/2.0/javadocs/javax/faces/event/ComponentSystemEvent.html – r0ast3d

Trả lời

30

Từ tag library document của JSF 2,1

Tên của sự kiện mà phải cài đặt một người biết lắng nghe. Bảng sau đây liệt kê các giá trị hợp lệ cho thuộc tính này và sự kiện tương ứng loại mà hành động của người nghe được đăng ký.

 
value for "type" tag attribute  Type of event sent to listener method 
preRenderComponent     javax.faces.event.PreRenderComponentEvent 
preRenderView       javax.faces.event.PreRenderViewEvent 
postAddToView       javax.faces.event.PostAddToViewEvent 
preValidate       javax.faces.event.PreValidateEvent 
postValidate       javax.faces.event.PostValidateEvent 

Ngoài những giá trị, tên lớp đầy đủ của bất kỳ lớp java mà kéo dài javax.faces.event.ComponentSystemEvent có thể được sử dụng như giá trị của "loại" thuộc tính.

Vì vậy, bên cạnh các giá trị liệt kê ở trên, bạn cũng có thể sử dụng tên lớp đầy đủ của lớp con biết trực tiếp của javax.faces.event.ComponentSystemEvent cho type thẻ thuộc tính , có thể được tìm thấy trong các Java docs.

+0

Cảm ơn bạn, bạn trả lời câu hỏi của tôi "một danh sách các trang khác (hoặc xem) sự kiện khác với preRenderView". Tuy nhiên, không ai trong số chúng được kích hoạt trước khi thành phần bị ràng buộc. – hirikarate

+0

@hirikarate: Bạn được chào đón, bên cạnh những giá trị này, bạn cũng có thể sử dụng tên lớp đầy đủ của bất kỳ lớp java nào mở rộng 'javax.faces.event.ComponentSystemEvent' cho thuộc tính' type' tag.See cập nhật của tôi –

Các vấn đề liên quan