Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

selectManyCheckbox : setting default selected values

KiranYeruva-OracleSep 7 2011 — edited Sep 7 2011
Hi,

I am trying to set default selected values for a selectManyCheckbox dynamically.

In my sample code I am adding three check boxes dynamically to the f:selectItem and also trying to set first check box as default selected.

The following is my code.
jsf page
---------
<?xml version='1.0' encoding='windows-1252'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
  <jsp:directive.page contentType="text/html;charset=windows-1252"/>
  <f:view>
    <af:document id="d2" binding="#{backing_components_testCheckBox.d2}">
      <af:form id="f2" binding="#{backing_components_testCheckBox.f2}">
        <af:selectManyCheckbox label="CheckBox"
                               binding="#{backing_components_testCheckBox.smc1}"
                               id="smc1"
                               value="#{backing_components_testCheckBox.defaultSelectedItems}">
          <f:selectItems value="#{backing_components_testCheckBox.selectItems}"
                         binding="#{backing_components_testCheckBox.si1}"
                         id="si1"/>
        </af:selectManyCheckbox>
      </af:form>
    </af:document>
  </f:view>
</jsp:root>
managedBean
------------------------
import java.util.ArrayList;

import javax.faces.component.UISelectItems;

import javax.faces.model.SelectItem;

import oracle.adf.view.rich.component.rich.RichDocument;
import oracle.adf.view.rich.component.rich.RichForm;
import oracle.adf.view.rich.component.rich.input.RichSelectManyCheckbox;

public class TestCheckBox {
    private RichForm f2;
    private RichDocument d2;
    private ArrayList<SelectItem> selectItems = new ArrayList<SelectItem>();
    private ArrayList<SelectItem> defaultSelectedItems = new ArrayList<SelectItem>();
    private RichSelectManyCheckbox smc1;
    private UISelectItems si1;

    public void setF2(RichForm f2) {
        this.f2 = f2;
    }

    public RichForm getF2() {
        return f2;
    }

    public void setD2(RichDocument d2) {
        this.d2 = d2;
    }

    public RichDocument getD2() {
        return d2;
    }

    public ArrayList<SelectItem> getSelectItems() {
        SelectItem s1 =  new SelectItem();
        s1.setValue("one");
        selectItems.add(s1);
        SelectItem s2 =  new SelectItem();
        s2.setValue("Two");
        selectItems.add(s2);
        SelectItem s3 =  new SelectItem();
        s3.setValue("Thtee");
        selectItems.add(s3);
        return selectItems;
    }

    public void setSmc1(RichSelectManyCheckbox smc1) {
        this.smc1 = smc1;
    }

    public RichSelectManyCheckbox getSmc1() {
        return smc1;
    }

    public void setSi1(UISelectItems si1) {
        this.si1 = si1;
    }

    public UISelectItems getSi1() {
        return si1;
    }

    public void setDefaultSelectedItems(ArrayList<SelectItem> selectedItems) {
        this.defaultSelectedItems = selectedItems;
    }

    public ArrayList<SelectItem> getDefaultSelectedItems() {
        SelectItem s1 =  new SelectItem();
        s1.setValue("one");
        defaultSelectedItems.add(s1);
        return defaultSelectedItems;
    }
}
When I try to run this code, i am getting the following exception. Please help me to resolve it
javax.faces.convert.ConverterException: Unsupported model type.
	at oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectManyRenderer._throwUnsupportedModelType(SimpleSelectManyRenderer.java:579)
	at oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectManyRenderer.getDefaultConverter(SimpleSelectManyRenderer.java:168)
	at oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectBaseRenderer._renderContent(SimpleSelectBaseRenderer.java:190)
	at oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectBaseRenderer.renderElementContent(SimpleSelectBaseRenderer.java:113)
	at oracle.adfinternal.view.faces.renderkit.rich.FormInputRenderer.encodeAllAsElement(FormInputRenderer.java:149)
	Truncated. see log file for complete stacktrace
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 5 2011
Added on Sep 7 2011
3 comments
4,375 views