Отрисованный атрибут для данных PrimeFaces не работает

У меня есть таблица простых лиц, которая показывает данные из базы данных, хранящейся в списке под названием notificationList на основе поиска из. Я хочу, чтобы таблица отображалась после нажатия кнопки "Отправить", однако после добавления отображаемого атрибута таблица вообще не отображается. Может кто-нибудь сказать, что я делаю не так и как это исправить? Я попробовал два способа сделать это.

  1. Используя rendered =#{not empty notificationSearchBean.results.notificationList} который не сработал, хотя список не пустой (я знаю, что я напечатал результаты в консоли)
  2. Создание логического значения с именем visible, как в этом посте " Хотите показать таблицу данных, заполненную данными после нажатия кнопки". Это также не отображает таблицу независимо от того, установлено ли значение visible в true или false. Странно то, что я попытался инициализировать visible с помощью true, а таблица все еще не отображается.

Это мой код для таблицы:

 <h:panelGroup id = "table-wrapper" styleClass="searchResults">
    <h:form id="result" >
        <p:dataTable id="notTable" var="notifications" value="#{notificationSearchBean.results.notificationList}"  row="15">
            <p:column headerText="Notification No.">
                <h:outputText value="#{notifications.notificationNo}"/>
            </p:column>  
            <p:column headerText="Service">
                <h:outputText value="#{notifications.srvce}"/>
            </p:column>  
            <p:column headerText="Operation">
                <h:outputText value="#{notifications.oprtn}"/>
            </p:column>
            <p:column headerText="Service Version">         
                <h:outputText value="#{notifications.srvceVrsn}"/>
            </p:column>
            <p:column headerText="Event Date">
                <h:outputText value="#{notifications.evntDt}" >
                    <f:convertDateTime pattern="dd-MMM-yyyy 'at' HH:mm:ss.SSS" />
                </h:outputText>
           </p:column>
        </p:dataTable>                              
    </h:form>
</h:panelGroup>

И код для кнопки отправки:

<h:panelGrid align="center" columns="2">
    <p:commandButton value="Start Search" action="#{notificationSearchBean.getAllNotificationsForQuery}" update="table-wrapper"/> 
</h:panelGrid>

И поиск уведомлений Bean:

@ManagedBean(name = "notificationSearchBean" )
@SessionScoped
public class NotificationSearchBean implements Serializable {

    private static final long serialVersionUID = 1L;
    private TransactionsDao transactionsDao = (TransactionsDao)((Login)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("login")).getTransDao();
    @Inject
    private SearchCriteria search;
    @Inject 
    private ResultSet results; 

    @PostConstruct
    public void initialize() {
        //setting attributes for search form        
    }

    //getters and setters for search

    public ResultSet getResults() {
        return results;
    }

    public void setResults(ResultSet results) {
        this.results = results;
    }

    public String getAllNotificationsForQuery() {   
        List<NotificationLogT> notifications=transactionsDao.getAllNotifications(this.search);
        int temp=notifications.size();
        this.results.setNotificationList(notifications);

        if(temp==0){
            //prints out not results return message
        }
        return "success";
    }
}

А также класс ResultSet:

public class ResultSet implements Serializable {
    private List<NotificationLogT> notificationList;
    private boolean visible = false;
    //private Integer dataSize;

    public boolean isVisible() {
        return visible;
    }

    public void setVisible(boolean visible) {
        this.visible = visible;
    }

    public List<NotificationLogT> getNotificationList() {
        setVisible(true);
        return notificationList;
    }

    public void setNotificationList(List<NotificationLogT> notificationList) {
        this.notificationList = notificationList;   
    }
}

0 ответов

Другие вопросы по тегам