ValueChangeListener + ValueChangeEvent in JSF
ValueChangeListener và ValueChangeEvent trong JSF
- Giới thiệu
- Cài đặt
- Chạy thử
# Giới thiệu
ValueChangeListener: là attribute của h:inputText và h:selectOneMenu
ValueChangeEvent: nhận dữ liệu để xử lý
Ở bài viết này mình sẽ sử dụng h:selectOneMenu để làm ví dụ
# Cài đặt
Trong JSFManagedBean định nghĩa hàm sử dụng ValueChangeEvent để nhận dữ liệu từ ValueChangeListener gửi đến
public String searchBySupplier(ValueChangeEvent event) { if(event.getNewValue() != null) { Supplier supplier = supplierFacade.find(event.getNewValue().toString()); products = (List<Product>) supplier.getProductCollection(); } else { products = productFacade.findAll(); } return "show?faces-redirect=true"; }
Ở file xhml giao diện người dùng sử dụng h:selectOneMenu và attribute valueChangeListener
Supplier: <h:selectOneMenu onchange="submit()" id="supcode" valueChangeListener="#{product.searchBySupplier}" title="Supcode" class="form-control"> <f:selectItem itemLabel="--- Select ---" itemValue="#{null}" noSelectionOption="true" class="form-control"/> <f:selectItems value="#{product.suppliers}" var="sup" itemValue="#{sup.supcode}" itemLabel="#{sup.supname}"/> </h:selectOneMenu>
Lưu ý: dùng attribute onchange="submit()" để gửi dữ liệu tới valueChangeEvent
Nhận xét
Đăng nhận xét