作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将此发布到 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/
我是一名优秀的程序员,十分优秀!