Как вы вызываете List.size() из шаблона Facelets JSF 2.0?

Каков синтаксис вызова list.size() в шаблоне Facelets JSF 2.0 (например, с использованием элемента h: outputText)?

Ответы

Ответ 1

Как насчет этого:

<h:outputText value="#{fn:length(someBean.someList)}" />

Вам нужно указать ссылку functions taglib на вашей странице JSF (URI: http://java.sun.com/jsp/jstl/functions).

Ответ 2

Это не проблема с JSF 2.0. Спецификация JSF по-прежнему требует класса, который соответствует спецификации bean. Классы коллекции не выполняют этого с помощью метода .size(). Это все равно должно быть .getSize(). Учитывая необходимость "стандартного" способа доступа к значениям класса, мы не будем обойти это в JSF в ближайшее время. Кому-то нужно исправить классы коллекции.

Ответ 3

Просто попробуйте #{myBean.myList.size()}

Ответ 4

Примечание. Точное пространство имен для "fn" добавляется следующим образом:

<html xmlns="http://www.w3.org/1999/xhtml"
      ...
      xmlns:fn="http://java.sun.com/jsp/jstl/functions">