如何在jsf中以单行显示标签

时间:2009-08-17 08:12:40

标签: jsf

任何人都可以帮我在一行中显示标签吗?

在我的用户界面中有一个名为支票资助期的字段

但它会显示在3行中,如:

check                              
funding                               
period

我能做什么,以便它显示为

check funding period          (in single line)

在jsf?

4 个答案:

答案 0 :(得分:3)

不是一个JSF问题,只是一个CSS问题。

确保标签通过white-space:nowrap;style属性获取CSS样式styleClass

答案 1 :(得分:2)

在我看来,就像你在一个表的列中输出你的输出并且没有确保列足够宽。使用dataTable的columnClasses属性指定css列样式,并确保它足够宽以便输出。即:

<rich:dataTable id="curfDataTable"
columnClasses="column40percent,column20percent,column40percent"
rowClasses="rowFirst,rowSecond" value="#{accessCurfMBean.unowned}"
var="curf" styleClass="tableInfo">

使用panelGrid布局时大致相同。

<h:panelGrid id="panel" columns="2" border="1" columnClasses="column40percent,column60percent">

并在你的CSS中:

.column20percent {
    width: 20%;
}

.column40percent {
    width: 40%;
}

.column60percent {
    width: 60%;
}

答案 2 :(得分:0)

我通常做的是将它们包装在h:panelGrid标签中,如下所示:

<h:panelGrid columns="3">
    <h:outputText value="check" />
    <h:outputText value="funding" />
    <h:outputText value="period" />
</h:panelGrid>

如果这个html输出对你来说太乱了,那么我会考虑这样做:

<h:outputText value="#{Messages.check Messages.funding Messages.period}" />

或者简单地说:

<h:outputText value="Check funding period" />

正如我在评论中所说,它实际上取决于你使用什么标签以及你将它们包裹起来。这可能只是一个简单的CSS问题。

答案 3 :(得分:0)

此问题的另一个可能的简单解决方案是&lt; nobr&gt; 标记。

  

在标签区域前加 &lt; nobr&gt; ,最后加 &lt; / nobr&gt; 它... ..

  <nobr>
    <h:outputText value="check" />
    <h:outputText value="funding" />
    <h:outputText value="period" />
  </nobr>

你的问题解决了!! : - )