webtier@glassfish.java.net

Rendering of SelectItemGroup in selectOneRadio bug?

From: <webtier_at_javadesktop.org>
Date: Fri, 12 Mar 2010 11:05:58 PST

Mojarra JSF 2.0.2

I'm seeing some unexpected behavior with using a SelectItemGroup in an h:selectOneRadio. It seems that 'setEscape( false )' is not being honored for the group label.

Here's my code:
<h:selectOneRadio id="disposition" value="#{myBean.disposition}" label="#{messages['label.disposition']}" layout="pageDirection" >
    <f:selectItem id="group1" value="#{myBean.itemGroup1}" />
    <f:selectItem id="group2" value="#{myBean.itemGroup2}" />
  </h:selectOneRadio>

 public SelectItemGroup getItemGroup1()
    {
    SelectItem opt1 = new SelectItem( "option 1" );
    opt1.setLabel( "<b>Option 1</b>" );
    opt1.setEscape( false );

    SelectItem opt2 = new SelectItem( "option 2" );
    opt2.setLabel( "<b>Option 1</b>" );
    opt2.setEscape( false );

    SelectItemGroup group = new SelectItemGroup( "Pick <b>option 1</b> if ..." );
    group.setEscape( false );
    group.setSelectItems( new SelectItem[] { opt1, opt2 } );

    return group;
    }

When rendered, the labels for 'option 1' and 'option 2' are not escaped, as expected. However, the group label "Pick <b>option 1</b> if ..." *is* being escaped, causing the markup to appear rather than the desired bold effect. Bug or incorrect expectation? I realize this may be an uncommon usage.

Thanks,
Mark
[Message sent by forum member 'markroy' (mroy_at_nuwave-tech.com)]

http://forums.java.net/jive/thread.jspa?messageID=391549