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

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

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 тег.

кроме того, все основные фреймворки UI имеют 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

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


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