什么 jsf 组件可以渲染 div 标签?

What jsf component can render a div tag?

提问人:user101442 提问时间:6/5/2009 最后编辑:Rajanuser101442 更新时间:9/27/2018 访问量:141377

问:

例如:将呈现一个. 什么 jsf 标签可以渲染标签?h:inputText"input type='text'""div"

JSF HTML

评论

4赞 Drew 6/8/2009
请记住,使用 Facelets 和较新版本的 JSF,您可以自由地将标准 HTML 标记与 JSF 标记混合在一起。
0赞 user101442 9/4/2009
好点子,但不幸的是,我被一个非常旧的版本困住了。

答:

247赞 Romain Linsolas 6/5/2009 #1

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

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

<h:panelGroup layout="block"/>

评论

10赞 James McMahon 4/1/2011
除非我使用 mojarra-1.2_15 实现将样式或样式类添加到面板组,否则不会为我呈现。
3赞 James McMahon 4/1/2011
附录,或设置 ID 属性。如果我不这样做,它只会显示在 HTML 中,而没有周围的 DIV 标签。
1赞 Rajat Gupta 7/6/2011
我们不应该直接使用标签本身吗?如果有的话,可能是什么问题?div
5赞 Romain Linsolas 7/6/2011
@Marcos 当然,您可以使用该标签,但在这种情况下,该组件将不是 JSF 组件树的一部分(即在 Java 代码中不可用)。除此之外,您将无法直接使用 Ajax 刷新它(当然,如果您直接在某些 JavaScript 代码中执行刷新)。div
1赞 Kawu 8/18/2014
答案只是真相的一半。请看这里 docs.oracle.com/javaee/5/javaserverfaces/1.2/docs/tlddocs/h/...或这里 docs.oracle.com/javaee/6/javaserverfaces/2.1/docs/vdldocs/...。重要的信息是,您还需要一个或属性才能发生......恕我直言,这使得这个故事绝对奇怪:平原会呈现一个?这对我来说没有意义。stylestyleClassdiv<h:panelGroup layout="block"><span>
14赞 Nick Grubb 6/9/2009 #2

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

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

请记住,它比解决方案要优雅一些,因为如果要用标记包装任何 JSF 代码,则必须为开始和结束标记生成此代码。panelGroupdiv

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

评论

4赞 Rajat Gupta 7/6/2011
我们不应该直接使用 div 标签本身吗?如果有的话,可能是什么问题?
3赞 jack jin 9/15/2011 #3

您可以使用 MyFaces Tomahawk 组件

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

评论

0赞 marcel 11/17/2015
我什至从一个项目中删除了战斧。之后,项目速度快多了!我不建议使用战斧!
1赞 jack jin 1/8/2016
我在 2011 年做出了这个答案。现在,我正在使用primefaces,并且感觉非常好
20赞 mp31415 3/20/2015 #4

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

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

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

-3赞 Sanket 2/9/2017 #5

我认为我们可以使用逐字标签,因为在这个标签中我们使用任何 HTML 标签

评论

0赞 Kukeltje 2/9/2017
认真地?为什么?逐字标记在 jsp 时代是相关的。在小面时代(现在10年了?),它大多是多余的,当然在这种情况下。