制作h:outputtext不会在jsf页面上打印换行符

时间:2012-09-11 17:25:33

标签: jsf formatting

我有一些像下面这样的代码并且它可以工作,但是我想显示“number%”而不是只显示一个数字。这就是我所拥有的:

<h:outputtext value="#{somebean.doubleValue}">
    <f:convertnumber maxfractiondigits="2">
</h:outputtext>

如果我在value属性中放入“%”符号,转换器将无法工作(我相信因为评估结果不仅仅是一个数字),但如果我将“%”符号放在其他outputtext标记中,数字和它之间出现一个换行符。我不希望这样。

<h:outputtext value="#{somebean.doubleValue}">
    <f:convertnumber maxfractiondigits="2">
</h:outputtext>
<h:outputtext value="%"> <!--prints a new line-->

在jsf上实现“xx.xx%”格式化的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

将公共父元素的CSS white-space属性设置为nowrap

E.g。

<span style="white-space: nowrap;">
    <h:outputText value="#{somebean.doubleValue}">
        <f:convertNumber maxfractiondigits="2">
    </h:outputText>%
</span>

(注意:纯文本不一定需要<h:outputText>

如果您实际在<h:column>中使用此功能(正如我最初的猜测),您可以通过{{1}的<td>属性为columnClasses指定一个类名}。