ValueChangeListener + ValueChangeEvent in JSF

ValueChangeListener và ValueChangeEvent trong JSF

  1. Giới thiệu 
  2. Cài đặt
  3. Chạy thử

# Giới thiệu

ValueChangeListener: là attribute của h:inputTexth: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

# Chạy thử


Cám ơn các bạn đã ghé thăm blog!!!



Nhận xét

Bài đăng phổ biến từ blog này

Java EE Web Application (JSP/Servlet, EJB, JPA, SQL Server, Glassfish) Full Tutorial

Build validation using VanillaJS for Form Submit

Java EE Web Application (JavaServer Faces, EJB, JPA, SQL Server, Glassfish) Full Tutorial