}
public void encodeChildren(FacesContext context, UIComponent component)
throws IOException {
ResponseWriter responseWriter = context.getResponseWriter();
List values = new ArrayList();
if(component instanceof SelectManyListBoxComponent){
UISelectMany selectMany = (UISelectMany) component;
Object[] selectedValues = selectMany.getSelectedValues();
if( (selectedValues!= null) &&(selectedValues.length >0)){
for(int i=0; i < selectedValues.length;i++){
values.add(selectedValues[i]);
}
}
}
else{
UISelectOne selectOne = (UISelectOne) component;
values.add(selectOne.getValue());
}
encodeListHeads(context,component);
encodeListCols(context,component);
Iterator iterator = getSelectItems(context,component);
for(int i=0; iterator.hasNext(); i++){
SelectItem selectItem = (SelectItem) iterator.next();
responseWriter.startElement("listitem",null);
responseWriter.writeAttribute("label",selectItem.getLabel(),"label");
responseWriter.writeAttribute("value",getFormattedValue(context,component,selectItem.getValue()),"value");
Object itemValue = selectItem.getValue();
if(itemValue!=null){
if(values.contains(itemValue)){
responseWriter.writeAttribute("selected","true","selected");
}
}
responseWriter.endElement("listitem");
}
}