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

Попробуйте hasattr() :

if hasattr(a, 'property'):
    a.property

РЕДАКТИРОВАНИЕ: См. ответ zweiterlinde ниже, кто дает хороший совет о выяснении у прощения! Очень pythonic подход!

общая практика в Python - то, что, если свойство, вероятно, будет там большую часть времени, просто назовите его и или позвольте исключению распространить или захватить его с блоком попытки/кроме. Это, вероятно, будет быстрее, чем hasattr. Если свойство, вероятно, не будет там большую часть времени, или Вы не уверены, использование hasattr, вероятно, будет быстрее, чем повторное попадение в блок исключения.

9
задан jsight 26 August 2009 в 03:13
поделиться

3 ответа

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

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

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

23
ответ дан 4 December 2019 в 06:35
поделиться

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

5
ответ дан 4 December 2019 в 06:35
поделиться

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

6
ответ дан 4 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: