Когда следует использовать компоненты JSF и когда следует использовать теги html?
Я хотел бы создать веб-страницу с использованием JSF.
Некоторые части страницы, которые я могу разместить с помощью <h:panelGroup>
и <h:panelGrid>
, или вместо этого, я могу использовать <p>
, <div>
и т.д. вместо.
Просто интересно, что предпочтительнее для лучших практик.
Спасибо!
Ответы
Ответ 1
Если вам не нужны функции, предоставляемые тегом JSF, я бы предпочел использовать простой HTML.
Например, <h:panelGroup>
имеет атрибут rendered
, который позволяет привязываться к резервной переменной bean boolean для условного отображения вывода, но с <div>
или <span>
вы не можете этого сделать.
<h:panelGroup>
по умолчанию будет генерировать a <span>
. Если вы предпочитаете <div>
, вы можете использовать <h:panelGroup layout="block">
. Он будет генерировать <div>
для вас.
Ответ 2
Недавний случай из моей практики:
1. для <p>
и <div>
вы не можете использовать атрибут rendered
2. сделать ваш код более структурным и надежным - легко читаемым для других пользователей вашего кода
Ответ 3
Существует рекомендация не смешивать jsf с html. Справочная информация. Затем ваша страница jsf может отображаться как нечто иное, чем html. Но насколько я знаю до сих пор, для html есть только рендереры (хотя вы можете написать свои собственные).
На практике мне было трудно следовать этой рекомендации и закончил смешивание html и jsf, например. для заголовков или разрывов строк Я использую html.
Ответ 4
В качестве общего правила я использую теги HTML и Facelets в макетах. Но для реальных страниц контента я стараюсь использовать теги JSF, доступные только с выбранной мной библиотекой JSF (JSF + RichFaces).
Таким образом, я могу больше контролировать, какие элементы отображаться и скрываться, а также содержимое внутри каждого элемента, но я все же могу жестко программировать свой макет главной страницы в файле шаблона facelets.