首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >h:selectOneRadio用于jsf 1.1和2.0的HTML输出

h:selectOneRadio用于jsf 1.1和2.0的HTML输出
EN

Stack Overflow用户
提问于 2014-01-13 20:27:28
回答 1查看 869关注 0票数 0

对于像blow这样的selectOneRadio代码:

代码语言:javascript
运行
AI代码解释
复制
<h:selectOneRadio value="#{myBean.selectedItem}" enabledClass="selectOneRadio" disabledClass="selectOneRadio">
  <f:selectItem itemLabel="#{myBean.item.label}" itemValue="#{myBean.item.code}"/>   
</h:selectOneRadio> 

JSF 1.1似乎正在生成如下所示的HTML输出:

代码语言:javascript
运行
AI代码解释
复制
...
<td><label><input type="radio" ...>text text text text ...... </label></td>
...

但在JSF 2.0中,它似乎会生成如下HTML输出:

代码语言:javascript
运行
AI代码解释
复制
...
<td><input type="radio" ...><label>text text text text ...... </label></td>
...

在JSF1.1中,我使用如下所示的css样式来对齐跨一行的长标签文本。但是这种css样式似乎不适用于JSF2.0HTML输出。

代码语言:javascript
运行
AI代码解释
复制
.selectOneRadio 
{ display:block;
  text-indent: -25px;
  margin-left: 22px;
}

有没有什么方法可以让JSF2.0生成像JSF1.1那样的输出,或者有没有一种CSS可以用于JSF2.0输出?

EN

回答 1

Stack Overflow用户

发布于 2014-01-14 16:50:53

通过这样做让它工作:

代码语言:javascript
运行
AI代码解释
复制
.selectOneRadio input { 
    vertical-align: top;
}

.selectOneRadioLabel {
    width: 120px;  /* width has to set at the label.  It won't work if set at table label */
    text-align:left;
    margin-left:4px;
    display: inline-block;
}
<h:selectOneRadio value="#{myBean.selectedItem}" style="selectOneRadio" enabledClass="selectOneRadioLabel" disabledClass="selectOneRadioLabel">
    <f:selectItem itemLabel="#{myBean.item.label}" itemValue="#{myBean.item.code}"/>   
</h:selectOneRadio>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21100736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档