Какой компонент jsf может отображать тег div?

Например: h:inputText отобразит "input type='text'". Какой тэг jsf может отображать тег "div"?

Ответ 1

Вы можете создать компонент DIV, используя <h:panelGroup/>. По умолчанию <h:panelGroup/> будет генерировать SPAN в HTML-коде.

Однако, если вы укажете layout="block", тогда компонент будет DIV в сгенерированном HTML-коде.

<h:panelGroup layout="block"/>

Ответ 2

Помимо компонента <h:panelGroup> (для меня это немного неожиданно), вы можете использовать тег <f:verbatim> с параметром escape, установленным на false, чтобы генерировать любую наценку, которую вы хотите. Например:

<f:verbatim escape="true">
    <div id="blah"></div>
</f:verbatim>

Помните, что он немного менее изящный, чем решение panelGroup, так как вам нужно сгенерировать это для обоих стартовых и конечных тегов, если вы хотите обернуть любой из ваших JSF-кода тегом div.

В качестве альтернативы, все основные платформы пользовательского интерфейса имеют тег компонента div, или вы можете написать свой собственный.

Ответ 3

В JSF 2.2 можно использовать элементы passthrough:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:jsf="http://xmlns.jcp.org/jsf">
    ...
    <div jsf:id="id1" />
    ...
</html>

Требование состоит в том, чтобы иметь хотя бы один атрибут в элементе, используя пространство имен jsf.

Ответ 5

Я думаю, мы можем использовать тег verbatim, так как в этом теге мы используем любой из HTML-тегов