【问题标题】:How do I insert non breaking space character   in a JSF page?如何在 JSF 页面中插入不间断空格字符?
【发布时间】:2010-11-24 06:45:30
【问题描述】:

如何在 JSF 页面中插入不间断空格字符 就像我可以在 HTML 中使用   一样? JSF中有这样的标签吗?

【问题讨论】:

标签: jsf facelets


【解决方案1】:

没有必要给 160 。 141也可以。为 value 字段提供 value="" 。

【讨论】:

    【解决方案2】:

    你可以使用primefaces

     <p:spacer width="10" />
    

    【讨论】:

    • 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review
    • @ihebiheb 是 +6,不要告诉我这是错的,因为我知道这是真的,只是你说废话..
    • 您的答案被标记为太短,因为它缺少详细信息。我建议您添加详细信息,让用户了解“为什么”您的解决方案可能是一个好的或最好的解决方案。添加详细信息让用户使您的解决方案适应略有不同的问题。
    【解决方案3】:

    只是添加到选项中:&lt;h:outputText value="&amp;amp;nbsp;" escape="false"/&gt; 工作

    【讨论】:

    • 我觉得转义是如此重要,以至于这可能会让位于不安全的解决方案。只为 nbsp / 其他 html 元素放弃转义是很棘手的。此外,这很冗长,但还有更短的替代方案。
    【解决方案4】:

    你也可以使用primefaces&lt;p:spacer width="10" height="10" /&gt;

    【讨论】:

      【解决方案5】:

      我发现如果我在页面中使用&amp;nbsp; 实体,解析器会报错。经过一番研究,我了解到如果我在页面的开头添加了一个 DOCTYPE 声明,则该实体是允许的。我使用这个 DOCTYPE 声明:

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      

      这样做的副作用是生成的代码(如使用 Web 浏览器的“查看源代码”功能所见)实际上并不包含 &amp;nbsp; 实体。相反,它包含表示不间断空格的实际字符。尽管它有效,但这并不是我真正想要的。我仍在寻找一种方法,使解析器不会用字符替换实体。

      更多信息在这里:http://java.net/jira/browse/JAVASERVERFACES-1576

      【讨论】:

        【解决方案6】:

        最简单的方法是:

        <h:outputText value=" " />
        

        【讨论】:

        • 在我看来,这不是最简单的方法。
        【解决方案7】:

        直接输入 HTML 编号对我有用:

        &#160;
        

        【讨论】:

        • 哦,我现在只想给出答案。很高兴,我没有监督你的。
        【解决方案8】:

        如果您使用 RichFaces 库,您还可以使用标签 rich:spacer,它将添加具有给定长度和高度的“不可见”图像。通常比添加大量 nbsp 更容易和更漂亮;。

        您希望空间显示的位置只需添加:

        <rich:spacer height="1" width="2" />
        

        【讨论】:

        • +1 虽然这里没有完全问到这个问题,但你的回答对我有帮助(关于标题)
        • 这里也一样,PrimeFaces中也有这个标签:&lt;p:spacer /&gt;
        【解决方案9】:

        这会起作用

        <h:outputText value="&#160;" />
        

        【讨论】:

        • 为什么需要&lt;h:outputText&gt;
        • 确实,使用 HTML 数字而不是其他 html 快捷方式是可行的方法。
        【解决方案10】:

        最后,你可以试试这个,如果只是使用&amp;nbsp; 失败...

        <h:outputText value="& nbsp;" escape="false"/>
        

        (和 Tom 一样,我在 &amp;nbsp; 之间添加了一个空格)

        【讨论】:

        • 我觉得转义是如此重要,以至于这可能会让位于不安全的解决方案。只为 nbsp / 其他 html 元素放弃转义是很棘手的。此外,“空间”可能会被遗忘。这是相当冗长的,虽然有更短的替代方案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-08
        • 2018-05-10
        • 1970-01-01
        • 2021-09-23
        • 2017-07-06
        • 1970-01-01
        相关资源
        最近更新 更多