JSF - Альтернатива "rendered ="? - PullRequest
6 голосов
/ 29 июня 2010

Мы разрабатываем веб-приложение на Java, которое использует JSF (Richfaces через Seam) для своего пользовательского интерфейса.Я прочитал несколько статей, в которых указано, что использование атрибута rendered = в компонентах пользовательского интерфейса приводит к довольно существенному снижению производительности.У нас есть несколько компонентов, которые мы хотели бы включить или отключить в зависимости от того, установлены ли их значения.Например, если мы выставляем товар на продажу, у нас не будет группы пустых полей для атрибутов, которые не установлены.

Однако, учитывая этот удар по производительности, мы опасаемся использовать несколько "оказанные "поля.Есть ли более эффективная альтернатива этому?Что мы можем сделать, чтобы улучшить производительность использования этого поля?

Ответы [ 3 ]

4 голосов
/ 29 июня 2010

Если получатель ничего не делает, кроме как просто возвращает (кэшированное) логическое свойство, тогда я действительно не вижу никаких проблем. Там нет альтернативы этому. Лучшее, что вы можете сделать для повышения производительности, - это кэшировать ее в модели (отложенная загрузка) или в представлении (c:set). Стоимость вызова метода-получателя, в свою очередь, ничтожна.

0 голосов
/ 15 июля 2010

Вы можете использовать тег style="display : (#{bean.booleon} ? block : none)" JSF.

0 голосов
/ 29 июня 2010

Любой другой способ не был бы свободным в любом случае ... поэтому я бы просто использовал стандартный способ JSF, чтобы скрыть / показать компоненты.

...