在 JSF 中用不间断的空格替换空格

Replace spaces with nonbreakable spaces in JSF

我需要一些 JSF 2.1.29 的建议。我有以下使用 bean 的 属性:

#{someBean.someProperty}

Where #{someBean.someProperty} returns 7 8(注意数字之间的空格数)。在浏览器中它显示为7 8。当我用   替换这些空格时,它们将按原样显示:

7      8 

如何才能真正显示为 7 8

即工作中HTML转义,默认开启。使用 escape 属性禁用它:

<h:outputText escape="false" value="#{backingBean.someText}"/>

我刚刚测试了这个,它在支持 bean returns 7&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp8.

时输出 7 8

或者,使用 CSS white-space property 保留普通(非不间断)空格:

<h:outputText value="#{backingBean.someText}" style="white-space: pre"/>

CSS 解决方案通常更好,因为它维护了 XSS 保护。

另见

  • JSF 2.0 component to interpret String with HTML code
  • Display element as preformatted text via CSS