如何将渲染属性应用于大块文本?

时间:2012-03-18 19:28:48

标签: jsf jsf-2

我无法相信我在编写JSF 2.0页面的所有这些月之后都会问这个问题,但这是我遇到的第一个问题。

我经常有一个 h:output 标签,如下所示:

<h:outputText value="Some sage wisdom" rendered=#{backbean.includeWisdom} style="..." />

如果有条件地包含的文字很大,我会使用什么标签?我还想保留style属性。

1 个答案:

答案 0 :(得分:3)

您可以使用h:panelGroup来实现此目的。

<h:panelGroup rendered="#{backbean.includeWisdom}" style="...">
  Your text 
</h:panelGroup>

来自taglib documentation

  

如果存在“style”或“styleClass”属性,那么   “layout”属性的值为“block”,呈现“div”   element,输出“style”属性的值作为值   “style”属性和“styleClass”属性的值为   “class”属性的值。

     

否则,如果“布局”   属性不存在,或“layout”属性包含值   除“块”外,渲染一个“span”元素,输出值   “style”属性作为“style”属性的值,以及   “styleClass”属性的值作为“类”的值   属性。