Vì vậy, chúng ta có một f: sự kiện:JSF f: event preRenderView được kích hoạt bởi f: ajax calls và partial renders, cái gì khác?
<f:metadata>
<f:event type="preRenderView" listener="#{dashboardBacking.loadProjectListFromDB}"/>
</f:metadata>
nào được kích hoạt như mong muốn trên tải trang ban đầu (render).
Tuy nhiên sự kiện preRenderView này cũng được kích hoạt bởi một phần trang ajax hiển thị, sẽ hiển thị lại nhóm h: panelgroup với id projectListing, như dưới đây.
<h:commandButton action="#{mrBean.addProject}" value="Create Project"
title="Start a new project">
<f:ajax render="projectListing" />
</h:commandButton>
Tôi chỉ muốn bảng điều khiểnBacking.loadProjectListFromDB được gọi để hiển thị trang ban đầu, nhưng không phải khi có phần hiển thị ajax. Có sự kiện hoặc phương pháp phù hợp hơn tôi có thể sử dụng không?
Xem câu trả lời của Kawu: https://stackoverflow.com/a/10363027/1599699 ' ' là một cách tuyệt vời để thực hiện việc này. –
Andrew