【问题标题】:jsf2 tomahawk selectOneRadio render label separatelyjsf2 tomahawk selectOneRadio 分别渲染标签
【发布时间】:2012-11-26 21:08:16
【问题描述】:

我使用Tomahawk radio control 来满足我的设计要求。我正在测试,想问是否有人回答。

 <t:selectOneRadio id="myRadio" forceId="true" layout="spread" styleClass="field checkbox">
                                    <f:selectItems value="#{personBean.genders}"  />
                                </t:selectOneRadio>
                                <c:forEach items="#{personBean.genders}" varStatus="loop">
                                    <span style="width:80px;" class="checkbox"><t:radio for=":myForm:myRadio"  index="#{loop.index}" /></span>
                                </c:forEach>

HTML 生成

<span class="checkbox"><input type="radio" class="field checkbox" value="male" name="myRadio" id="myForm:j_idt35"><label for="myForm:j_idt35"> male</label></span>

问题:

我想在男性上使用通过复选框呈现的类属性。可以单独渲染吗?

我可以应用如下样式,但我希望 Label 单独渲染以获得更多控制。

.checkbox label {
    display: block;
    cursor: pointer;
    font-size: 100%;
    line-height: 150%;
    margin: -17px 0 0 18px;
    padding: 0 0 5px 0;
    color: #222;
    width: 88%
}

【问题讨论】:

    标签: jsf-2


    【解决方案1】:

    看源码,不是的。

    但是你可以使用 +: 来设置样式

    input[type='checkbox'] + label {
        display: block;
        cursor: pointer;
        font-size: 100%;
        line-height: 150%;
        margin: -17px 0 0 18px;
        padding: 0 0 5px 0;
        color: #222;
        width: 88%
    }
    

    如果想以不同的方式渲染它,你需要重写 HtmlRadioRenderer:

    把这个放到faces-config.xml:

      <renderer>
        <component-family>javax.faces.SelectOne</component-family>
        <renderer-type>org.apache.myfaces.Radio</renderer-type>
        <renderer-class>your-renderer-class</renderer-class>
      </renderer>
    

    创建一个类your-renderer-class.java,覆盖org.apache.myfaces.renderkit.html.ext.HtmlRadioRenderer,然后就可以开始了。

    阅读网络了解这是如何完成的:JSF 2.0: How to override base renderers with custom ones?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-26
      • 2015-01-22
      • 2010-11-30
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多