Рендеринг командной кнопки?

У меня есть одна командная кнопка для добавления задачи в корзину, это означает, что когда количество товаров на складе больше 0, будет отображаться командная кнопка, но если количество товаров на складе равно 0, она не отображается. Как я могу написать один метод рендеринга с помощью командной кнопки для моего требования?

Отредактировано

=================================================================================

Я публикую свой код, прилагая следующий вопрос: я пишу один метод в списке выбора Session Bean, количество в наличии на складе равно нулю:

public List<Items> checkItemsInstock(){
        Query query = em.createNamedQuery("Items.findByInstockgtZero");
        query.setParameter("instockgtzero", 0);

        return query.getResultList();

    }

и Namequery:

@NamedQuery(name = "Items.findByInstockgtZero", query = "SELECT i FROM Items i WHERE i.instock = :instockgtzero")

в JSF Managed Bean я написал метод возврата списка элементов, а количество в наличии равно нулю

public List<Items> getQuantityOnHand(){
    return itemDAO.checkItemsInstock();
  }

и на странице JSF i было отображено h: commandButton:

<h:commandButton value="add to cart" style="font-size: x-small" action="#{catItemsListController.addtoCart(item)}"  id="addcart" rendered="#{not empty catItemsListController.quantityOnHand}"/>

но это не работает, все элементы, у которых QOH равен нулю или не равен нулю, отображаются CommandButton

Мне нужна помощь ! Спасибо


person MYE    schedule 25.10.2010    source источник


Ответы (1)


person    schedule
comment
@romaintaz: Спасибо за вашу поддержку, но это не работает, я отредактировал свой вопрос, пожалуйста, проверьте его! Спасибо - person MYE; 25.10.2010
comment
@MYE В методе getQuantityOnHand(), возможно, вы можете добавить журнал, чтобы проверить количество элементов в списке. - person Romain Linsolas; 25.10.2010
comment
@MYE Пример кода для чего именно? - person Romain Linsolas; 25.10.2010
comment
`вы можете добавить журнал, чтобы проверить количество элементов в списке` я еще не понял, что вы сказали! это означает, что пользователь входит в систему? - person MYE; 25.10.2010
comment
Нет, просто System.out.println("List size: " + myList.size()); (или log с использованием, например, log4j), чтобы проверить, возвращает ли геттер пустой список или нет... - person Romain Linsolas; 25.10.2010
comment
он печатает 5 строк, а результат равен 2 (5 элементов и 2 элемента равны нулю), но когда я отображал h: commandbutton rendered="#{myBean.commandButtonRendered}"/>, 5 элементов не отображали h: commandButton, а количество 2 элементов на руках равно нулю, а 3 - нет, я не знаю, почему это не отображение? - person MYE; 25.10.2010
comment
в методе public boolean isCommandButtonRendered() { return myList != null && !myList.isEmpty(); } клиент возвращает true, это означает, что мой список не нулевой и не равен нулю, но когда я его печатаю, он перебирает элементы, если у меня есть 5 элементов, а 2 элемента равны нулю, он печатает 5 строк и результат list().size() 2, мне нужна помощь, пожалуйста - person MYE; 25.10.2010
comment
@MYE Я тебя не понимаю. Вы говорите, что list.size() возвращает 2. Таким образом, ваш список не пуст, и поэтому отображается командная кнопка. Нет? - person Romain Linsolas; 25.10.2010
comment
да, romaintaz, мой оператор sql выбирает элементы из БД, где количество на руках равно нулю (0), если оно равно нулю, это означает, что mylist.size не равен нулю, он не показывает кнопку элементов, количество которых на руках равно нулю. Я не знаю, почему он не отображает все или не отображает все, если отображается !mybean.list или отображается mybean.list - person MYE; 26.10.2010
comment
@romaintaz я использую dataTable для отображения данных - person MYE; 26.10.2010
comment
@MYE Кажется, я наконец понял твою проблему. Я отредактировал свой ответ. Дайте мне знать, если это решит вашу проблему сейчас. - person Romain Linsolas; 26.10.2010