在h:selectOneRadio的两个单选按钮之间添加空格

时间:2012-07-16 11:00:31

标签: jsf jsf-2 whitespace selectoneradio

在JSF 2.0中,我在下面

<h:selectOneRadio value="#{StageGate.sketchesSG002006Decision}" onclick="validateMyRadioButton()" id="radio26">
    <f:selectItem itemValue="Accepted" itemLabel="Accepted" id="accepted"/>
    <f:selectItem itemValue="Rejected" itemLabel="Rejected" id="rejected"/>
</h:selectOneRadio>

我输出为

O Accepted  O Rejected
          ^^

我想要的是在两个单选按钮之间添加空格,以便输出

O Accepted           O Rejected
          ^^^^^^^^^^^

我尝试在两个单选按钮之间添加&nbsp;,但它无效。我在下一行收到单选按钮。

<h:selectOneRadio value="#{StageGate.sketchesSG002006Decision}" onclick="validateMyRadioButton()" id="radio26">
    <f:selectItem itemValue="Accepted" itemLabel="Accepted" id="accepted"/>
    &nbsp;&nbsp;&nbsp;
    <f:selectItem itemValue="Rejected" itemLabel="Rejected" id="rejected"/>
</h:selectOneRadio>

知道如何做到这一点?

不使用&nbsp;生成的HTML是

<table id="radio26">
<tr>
<td>
<input type="radio" checked="checked" name="radio26" id="radio26:0" value="Accepted" onclick="validateMyRadioButton()" /><label for="radio26:0"> Accepted</label></td>
<td>
<input type="radio" name="radio26" id="radio26:1" value="Rejected" onclick="validateMyRadioButton()" /><label for="radio26:1"> Rejected</label></td>
</tr>
</table>

当我添加&nbsp时,会在<table id="radio26">语句之前生成一个空格。

4 个答案:

答案 0 :(得分:4)

免责声明,我对JSF一无所知,所以以下是基于我的ASP.NET经验并在那里添加空格。如果这是非常不正确的,请告诉我,我会立即删除...

尝试将空格添加到项目标签,更新...

<f:selectItem itemValue="Accepted" itemLabel="Accepted" id="accepted"/>

要...

<f:selectItem itemValue="Accepted" itemLabel="Accepted &nbsp; &nbsp;" id="accepted"/>

可能需要将自己转义为...

<f:selectItem itemValue="Accepted" itemLabel="Accepted &amp;nbsp; &amp;nbsp;" id="accepted"/>

<强>更新

正如OP在评论中所说,这将扩展链接。

看起来您应该可以使用类似......

之类的东西将CSS类设置为父对象
<h:selectOneRadio styleClass="myRadioCtrl" ... >

然后在你的风格/ CSS中有类似......

.myRadioCtrl span { padding-right: 10px; }

答案 1 :(得分:3)

以为id分享了我的答案......在用firebug检查页面后,我最终得到了以下内容

JSF:

   <h:panelGroup id="search-options" layout="block" styleClass="radioButtonSpace">
        <h:selectOneRadio value="#{searchEngineController.reportSearch}">
        <f:selectItem itemValue="#{false}" itemLabel="CEPIS Search" />
        <f:selectItem itemValue="#{true}" itemLabel="Report Search" />
        </h:selectOneRadio>
    </h:panelGroup>

CSS:

.radioButtonSpace table tbody td {padding-right:50px;}

答案 2 :(得分:-1)

我遇到了这个困难。当我在h:selectOneRadio上执行时,应用Style对我来说不起作用,但是当它在面板组中应用时它适用于它。

答案 3 :(得分:-2)

这些答案中没有任何一个对我有用,但是这样做效果很好:

.ui-selectoneradio label {padding-right:10px!important; }

这是在使用primefaces

的情况下