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


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

5 117

5 ответов:

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

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

<h:panelGroup layout="block"/>

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

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

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

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

в 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.

вы можете использовать myfaces tomahawk component

http://myfaces.apache.org/tomahawk-project/tomahawk12/tagdoc/t_div.html

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