Невидимые комментарии в jsf 2.0?

можно ли вставлять комментарии в мои .xhtml-файлы, которые отображаются только в исходном коде, а не в результате рендеринга? Я хочу включить автора, дату,... в файлы, но они не должны быть видны конечному пользователю в сгенерированном выводе. Если я использую стандартные теги комментариев <!-- -->, браузер их отображает.


person Tim    schedule 17.08.2010    source источник


Ответы (3)


Добавьте следующее в свой web.xml:

<context-param>
    <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
    <param-value>true</param-value>
</context-param>

Таким образом, Facelets будет пропускать комментарии при разборе шаблона представления xhtml.

person Petar Minchev    schedule 17.08.2010
comment
Без изменений. Мой jboss 5.1 все еще пытается запустить контент между комментариями. - person Zini; 30.03.2016

Невидимые комментарии в JSF — это недостаток, особенно для новичков. Я согласен с ответом г-на Минчева. В любом случае, я предлагаю альтернативный способ комментирования контента в JSF, состоящий из использования ui:remove.

<ui:remove> This is a comment </ui:remove>

Тег UI Remove используется для указания тегов или блоков контента, которые должны быть удалены с вашей страницы обработчиком представления Facelets во время компиляции. Этот тег не имеет атрибутов. Вы можете использовать этот тег, чтобы указать, что конкретный тег должен быть удален с отображаемой страницы.

Полезно удалять контент, который требуется во время время разработки, но не во время выполнения время, такое как комментарии, некоторое заглушенное содержимое (например, «lorem ipsum»), которое помогает заполнить содержимое страницы, чтобы оно соответствовало макету в визуальных дизайнерах, таких как Dreamweaver, и т. д.

См.: Практические последствия Facelets ui:remove tag

Обратите внимание, что процесс компиляции Facelets намного быстрее, чем процесс компиляции JSP, потому что байт-код Java фактически не генерируется и не компилируется за кулисами, когда вы впервые посещаете свою страницу. Тег UI Remove используется для указания тегов или блоков контента, которые должны быть удалены с вашей страницы обработчиком представления Facelets во время компиляции. Этот тег не имеет атрибутов.

Примеры обоих вариантов комментариев

person Richard P.    schedule 13.05.2014

Неправильно, правильный путь:

<context-param>
    <param-name>facelets.SKIP_COMMENTS</param-name>  
    <param-value>true</param-value>  

This work for me, javax.faces.FACELETS_SKIP_COMMENTS no!

person user4370523    schedule 17.12.2014
comment
Вопрос был о JSF 2.x, а не 1.x. JSF 2.0 был представлен 5 лет назад. Может пора наверстать упущенное? - person BalusC; 17.12.2014