是否建议使用h:outputText作为一切?

Aug*_*sto 21 jsf text jsf-2

我是JSF的新手(4天前刚刚开始学习它),我对h:outputText的使用感到有点困惑.我知道这是一个简单的标签,但在我见过的大多数例子中,它用于输出非常简单(无需转义),非i18n文本.例如(取自这里)

<h:outputText value="Transport" />
Run Code Online (Sandbox Code Playgroud)

可以替换为

Transport 
Run Code Online (Sandbox Code Playgroud)

所以,我想知道我是否遗漏了一些东西,或者我看到的大多数例子是否过于复杂到疯狂.

Bal*_*usC 44

如果您将JSF 2.x与Facelets 2.x而不是JSP一起使用,则两者都同样有效.更有甚者,Facelets的隐式包装的为代表的成分联内容<h:outputText>(换句话说,它被转义!).

只有当你想禁止使用转义escape="false",或想分配id,style,onclick,等编程,或想用一个转换器(通过显式converter或隐式的通过forClass),那么你需要<h:outputText>.

我自己不会<h:outputText>在没有必要的时候使用.没有它,源代码变得更易读.您可以在模板文本中内联EL,#{bean.text}而不是这样做<h:outputText value="#{bean.text}">.在JSF 2.0之前,在JSP和Facelets 1.x中,这是不可能的,因此<h:outputText>是强制性的.如果你的IDE发出警告,那很可能是JSF 1.x配置/思想.