JSF / Facelets: почему не стоит смешивать JSF / Facelets с тегами HTML?
Я читал это несколько раз сейчас: некоторые разработчики не сторонники перемежения тегов JSF / Facelets с тегами HTML в своих файлах XHTML. Очевидно, что tags HTML не будут частью дерева компонентов пользовательского интерфейса, но в чем его недостаток?
Я часто нахожу примеры кода, в которых авторы делают такое смешение:
http://www.ibm.com/developerworks/java/library/j-facelets/
- Замена текста H1 на изображение логотипа: лучший способ для SEO и доступности?
- Является ли запись закрывающих тегов для элементов, которые не являются традиционно пустой плохой практикой?
- Должен ли я избегать использования! Важно в CSS?
- cols, colgroups и css: hover psuedoclass
- Как вставить специальные символы, такие как & и <в атрибут значения компонентов JSF?
http://www.packtpub.com/article/facelets-components-in-jsf-1.2
http://oreilly.com/catalog/9780596529246
«Шов в действии» также перемежает JSF / Facelets и HTML-tags.
Я смущен тем, что на самом деле использовать. Я начал смешивать tags, но я начинаю верить, что это, вероятно, не правильный выбор. Однако я не понимаю, почему предпочтительнее использовать пуристический подход.
Я точно знаю, что у меня есть таблица, где JSF datatable не дает мне достаточной гибкости для отображения того, что мне нужно, поэтому сделать это пуристически невозможно.
Кроме того, мне интересно, почему ни один из приведенных выше примеров не использует f: view и т. Д. Вместо жестко закодированных тэгов html, head, body и т. Д.
Кто-нибудь может прояснить это для меня?
- Селектор родительских / предков CSS
- IE 8: исправление фонового размера
- Выбор входных и текстовых входов в HTML - лучший способ сделать равную ширину?
- В чем смысл правильного CSS / HTML?
- Поддержка JavaServer Faces 2.2 и HTML5, почему XHTML все еще используется
- Нужно ли нам по-прежнему использовать косые черты в HTML5?
- Может ли XSLT вставить текущую дату?
- Как разбирать XML в Bash?
Во времена JSF 1.0 / 1.1 это действительно «не очень хорошая идея», потому что весь HTML не был автоматически взят в дереве компонентов JSF при использовании JSP в качестве технологии просмотра. Весь простой HTML был с нетерпением JSP, представленный перед деревом компонентов JSF. Например
Lorem ipsum dolor sit amet
Consectetur adipiscing elit
получил
Lorem ipsum dolor sit amet
Consectetur adipiscing elit
value1
Чтобы исправить это, вам нужно принести
in.
Lorem ipsum
dolor sit amet Consectetur adipiscing
elit
Это была настоящая боль в обслуживании. Это была одна из основных причин, почему JSF 1.0 / 1.1 так ненавидел.
Поскольку JSF 1.2, с новым обработчиком вида,
больше не нужен. Теперь разработчики могут избавиться от облегчения. Более того, новый обработчик вида позволил JSF использовать другую технологию просмотра, чем JSP, и таким образом родился Facelets.
Смотрите также:
- Каковы основные недостатки Java Server Faces 2.0?
- Почему Facelets предпочтительнее JSP в качестве языка определения вида из JSF2.0 и далее?
- Можно ли использовать JSF + Facelets с HTML 4/5?
- Поддержка JavaServer Faces 2.2 и HTML5, почему XHTML все еще используется
Как правило, я использую tags HTML и Facelets в HTML-макете / шаблоне. Но для реальных страниц контента я стараюсь использовать tags JSF, доступные только с выбранной мной библиотекой JSF (JSF + RichFaces).
Таким образом, я могу больше контролировать, какие элементы показывать и скрывать, а также содержимое внутри каждого элемента, но я все же могу жестко закодировать свой макет главной страницы в файле шаблонов facelets.