gpt4 book ai didi

jsf-2 - f :verbatim tag stops working when inside a dataTable

转载 作者:行者123 更新时间:2023-12-05 01:20:29 24 4
gpt4 key购买 nike

我将此发布到 PrimeFaces 用户论坛,但我认为他们太忙而无暇查看,所以我想我会在这里尝试。

我有服务器端字符串,里面有标记,所以当我想要它呈现时,我这样做:

            <p:panel>                    
<f:verbatim>
#{daBean.markedUpString}
</f:verbatim>
</p:panel>

这工作正常,但如果在 p:dataTable 中使用相同的标记则不行——无论是否有 p:panel 外壳。呈现的是一个 div class="ui-dt-c" 元素,其中什么也没有。为了测试,如果我取出 f:verbatim 标记,标记的文本将被转义和呈现。

我不知道这是否应该被视为错误,但有人知道解决这个问题的方法吗?这是 PrimeFaces 3.0.M3。

最佳答案

<f:verbatim>标记用于保存 文本/HTML,而不是 JSF 组件或 EL 表达式。该标记是 JSF 1.0/1.1 时代的遗留物,当时无法在 JSF 组件之间内联纯文本/HTML。该标记在 JSF2 中已弃用。你不再需要它了。

因此,您的具体功能要求是显示来自未转义的托管 bean 的一些 HTML 字符串。为此你应该使用 <h:outputText>escape="false" .

<h:outputText value="#{daBean.markedUpString}" escape="false" />

另见:

关于jsf-2 - f :verbatim tag stops working when inside a dataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com