Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf h:outputLabel和rich:combobox组件在同一行上的正确布局_Jsf_Layout_Richfaces_Seam - Fatal编程技术网

Jsf h:outputLabel和rich:combobox组件在同一行上的正确布局

Jsf h:outputLabel和rich:combobox组件在同一行上的正确布局,jsf,layout,richfaces,seam,Jsf,Layout,Richfaces,Seam,使用richfaces,如何使h:outputLabel和rich:combobox组件直接相邻显示在同一行上 以下是我尝试过的两种方法 1:布局 我第一次尝试使用rich:layout&rich:layoutPanel,但是组件显示在单独的行上。代码如下: <rich:layout> <rich:layoutPanel position="left" width="100%"> <h:outputLabel for="timeSpanUnitsCom

使用richfaces,如何使h:outputLabel和rich:combobox组件直接相邻显示在同一行上

以下是我尝试过的两种方法

1:布局 我第一次尝试使用rich:layout&rich:layoutPanel,但是组件显示在单独的行上。代码如下:

<rich:layout>
  <rich:layoutPanel position="left" width="100%">
    <h:outputLabel for="timeSpanUnitsCombo2" value="Time Span " />
    <rich:comboBox id="timeSpanUnitsCombo2" value="#{bean.timeSpanUnitsLabel}" enableManualInput="false">       
      <f:selectItems value="#{bean.timeSpanUnitsList}" />
    </rich:comboBox>
  </rich:layoutPanel>
</rich:layout>
<h:panelGrid columns="2">
  <h:outputLabel for="timeSpanUnitsCombo3" value="Time Span " />
  <rich:comboBox id="timeSpanUnitsCombo3" value="#{bean.timeSpanUnitsLabel}" enableManualInput="false">       
    <f:selectItems value="#{bean.timeSpanUnitsList}" />
  </rich:comboBox>
</h:panelGrid>
下面是渲染输出:


使用richfaces的组件布局被证明是完全令人沮丧的。我将把二等奖颁给任何对richfaces布局有很好参考的人

这可以通过多种方式实现。其中之一就是使用fragment

<s:fragment>
      <h:outputText value="Time Span" />
      <rich:comboBox id="timeSpanUnitsCombo2" value="#{bean.timeSpanUnitsLabel}" enableManualInput="false">       
            <f:selectItems value="#{bean.timeSpanUnitsList}" />
      </rich:comboBox>
</s:fragment>

或者可以使用div代替fragment。您的代码…

这可以通过多种方式完成。其中之一就是使用fragment

<s:fragment>
      <h:outputText value="Time Span" />
      <rich:comboBox id="timeSpanUnitsCombo2" value="#{bean.timeSpanUnitsLabel}" enableManualInput="false">       
            <f:selectItems value="#{bean.timeSpanUnitsList}" />
      </rich:comboBox>
</s:fragment>

或者可以使用div代替fragment。您的代码…

如果您使用的是seam,您可以将其包装并使用

从行动中的接缝

。。。。和使用Seam标记的好处是 它们自动与相邻的输入组件(特征)关联 属于

如果您使用seam,您可以将其包裹起来并使用

从行动中的接缝

。。。。和使用Seam标记的好处是 它们自动与相邻的输入组件(特征)关联 属于

我看不出s:fragment在这件事上有什么帮助Hervin你是对的,我错了。带h:outputText的div或带h:outputText的span在这里可能会有所帮助。我看不出s:fragment在这件事上有什么帮助Hervin你是对的,我错了。带有h:outputText的div或带有h:outputText的span在这里可能会有所帮助。