0

我想知道JSF中是否有等效的php echo。我想将 html 从我的 bean 发布到我的 facelet。

这是因为每次用户单击已添加的组件之一时,我想添加三个不同的 primefaces 组件。我无法使用 taglibs 实现这一点。

谢谢

4

1 回答 1

3

我相信您对 JSF 的内置 XSS 预防感到困惑,这导致您的“普通”HTML 被转义并因此按原样显示,而不是被解释为 HTML 源代码的一部分。鉴于您熟悉 PHP,解释是 JSFhtmlspecialchars()在所有 EL 表达式打印输出中基本上默认启用 PHP。

只需使用<h:outputText>withescape属性设置来false关闭隐式 HTML 转义。

<h:outputText value="#{bean.html}" escape="false" />

当涉及到用户控制的输入时,请确保您完全了解此处创建的潜在 XSS 攻击漏洞。您的问题本身已经表明您对此一无所知。

也可以看看:


至于具体的功能需求,

这是因为每次用户单击已添加的组件之一时,我想添加三个不同的 primefaces 组件。我无法使用 taglibs 实现这一点。

请注意,JSF 代码不是 HTML 代码。相反,您应该直接在视图中编写这些 JSF 组件,并使用该rendered属性有条件地呈现它们。

于 2013-05-23T13:22:30.563 回答