我把它发布到PrimeFaces用户论坛,但我认为他们太忙了,无法调查,所以我想我会试试这里.
我有服务器端字符串,其中有标记,所以当我想要它呈现时,我这样做:
<p:panel>
<f:verbatim>
#{daBean.markedUpString}
</f:verbatim>
</p:panel>
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但如果在p:dataTable中使用相同的标记,则无论是否使用p:panel enclosure.渲染的是div class ="ui-dt-c"元素,其中没有任何内容.为了测试,如果我取出f:verbatim标签,标记的文本将被转义并呈现.
我不知道这是否应该被认为是一个错误,但有没有人知道解决这个问题?这是PrimeFaces 3.0.M3.
该<f:verbatim>标签intented持有纯文本/ HTML,没有JSF组件也不EL表达式.当JSF组件之间无法内联纯文本/ HTML时,标签是JSF 1.0/1.1时代的遗留物.该标记在JSF2中已弃用.你不再需要它了.
因此,您的具体功能要求是从未转义的托管bean中显示一些HTML字符串.对于您应该使用<h:outputText>与escape="false".
<h:outputText value="#{daBean.markedUpString}" escape="false" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4678 次 |
| 最近记录: |