我想知道JSF中是否存在php echo等价物。我想从我的bean发布html到我的facelet。
这是因为每次用户点击已添加的某个组件时,我想添加三个不同的primefaces组件。我无法用taglib实现这一点。
谢谢
答案 0 :(得分:3)
我相信你对内置的XSS防止JSF感到困惑,导致你的“普通的”HTML被转义并因此显示为原样,而不是被解释为HTML源代码的一部分。鉴于您熟悉PHP,解释是JSF在所有EL表达式打印输出中默认启用PHP htmlspecialchars()
。
只需使用设置为<h:outputText>
的{{1}}属性的escape
来关闭隐式HTML转义。
false
当涉及用户控制的输入时,请确保您完全了解此处创建的潜在XSS攻击漏洞。你自己的问题已经表明你根本不知道它。
关于具体的功能要求,
这是因为每次用户点击已添加的某个组件时,我想添加三个不同的primefaces组件。我无法通过taglib实现这一目标。
请注意,JSF代码不是HTML代码。您应该直接在视图中编写这些JSF组件,并使用<h:outputText value="#{bean.html}" escape="false" />
属性有条件地呈现它们。