Предлагается использовать h: outputText для всего? - PullRequest
21 голосов
/ 04 апреля 2011

Я новичок в JSF (только начал узнавать об этом 4 дня назад), и меня немного смущает использование h: outputText.Я знаю, что это простой тег, но в большинстве примеров, которые я видел, он используется для вывода очень простого (не нужно убегать) текста, отличного от i18n.Например (взято из здесь )

<h:outputText value="Transport" />

, которое можно заменить на

Transport 

Итак, мне интересно, что я что-то упускаюбольшинство примеров, которые я видел, слишком сложны до безумия.

Ответы [ 3 ]

43 голосов
/ 04 апреля 2011

Если вы используете JSF 2.x с Facelets 2.x вместо JSP, то оба варианта одинаково действительны.Более того, Facelets неявно оборачивает встроенный контент в компоненте, который представлен <h:outputText> (другими словами, он будет экранироваться!).

Только всякий раз, когда вы хотите отключить экранированиеиспользуя escape="false", или вы хотите назначить id, style, onclick и т. д. программно, или хотите использовать конвертер (либо явный через converter, либо неявный через forClass), тогда вам нужно<h:outputText>.

Я сам не использую <h:outputText>, когда в этом нет необходимости.Без этого исходный код становится лучше читаемым.Вы можете просто вставить EL в текст шаблона таким образом #{bean.text} вместо <h:outputText value="#{bean.text}">.До JSF 2.0 в JSP и Facelets 1.x это было невозможно, и поэтому <h:outputText> является обязательным.Если ваша IDE выдает предупреждения об этом, скорее всего, JSF 1.x настроен / настроен.

2 голосов
/ 04 апреля 2011

Пример, который вы цитируете, написан на XHTML - XML. Автономный «Транспорт» может быть запрещен в той позиции, в которую вы хотите его поместить, поэтому вам необходимо «преобразовать» его в действительный xml.

IIrc это то, что называется Facelets и значение по умолчанию в JSF2, в то время как в JSF1 код представления может быть выполнен с тегами JSP по умолчанию, а Facelets была альтернативой, которую использовали многие разработчики).

0 голосов
/ 06 декабря 2014

h: тег outputText требуется только в том случае, если вы визуализируете текст на основе каких-либо условий визуализации.например:,Если это простой оператор вывода, то нет необходимости использовать тег;Вы можете просто использовать: Транспорт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...