什么 jsf 组件可以呈现 div 标记?

例句: h:inputText将呈现一个 "input type='text'"。 什么 jsf 标记可以呈现 "div"标记?

138646 次浏览

您可以使用 <h:panelGroup/>创建一个 DIV组件。 默认情况下,<h:panelGroup/>将在 HTML 代码中生成一个 SPAN。

但是,如果指定 layout="block",则组件将是生成的 HTML 代码中的 DIV

<h:panelGroup layout="block"/>

除了 <h:panelGroup>组件(这让我有点吃惊)之外,您可以使用带有转义参数设置为 false<f:verbatim>标记来生成您想要的任何标记。例如:

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

请记住,它没有 panelGroup解决方案那么优雅,因为如果您想用 div标记包装任何 JSF 代码,就必须为开始和结束标记生成这个解决方案。

或者,所有主要的 UI 框架都有一个 div组件标记,或者您可以编写自己的。

在 JSF 2.2中,可以使用 通过元素:

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

要求元素中至少有一个属性使用 jsf 名称空间。

我想我们可以使用逐字标记,就像在这个标记中我们使用任何 HTML 标记一样