Hello Richard,
thanks for answering. Now I have a clue about what I should do ..
The code below works like a charm, except that I don't know how
to declare a item as selected. I looked up
javax.faces.component.UISelectItem.class
and found
private String _itemDescription = null;
private Boolean _itemDisabled = null;
private String _itemLabel = null;
private Object _itemValue = null;
private Object _value = null;
(no private Object _selected)
Besides I still do not have a solution for component type
javax.faces.SelectItem_s_ But I think with Items in singular
I have more control, right?
Regards Mike
// HTMLSelectOneMenu
ElementBean selectElement = new ElementBean();
selectElement.setComponentType("javax.faces.HtmlSelectOneMenu");
selectElement.setJsfid("securitycheck");
selectElement.setId("securitycheck");
ElementBean itemElement = new ElementBean();
itemElement.setComponentType("javax.faces.SelectItem");
itemElement.setJsfid("selectItem");
itemElement.setRenderId(generateId());
AttributeBean attr = new AttributeBean();
attr.setName("itemValue");
attr.setValue("value1");
itemElement.addAttribute(attr);
attr = new AttributeBean();
attr.setName("itemLabel");
attr.setValue("Label");
itemElement.addAttribute(attr);
selectElement.addChild(itemElement);
ElementBean itemElement2 = new ElementBean();
itemElement2.setComponentType("javax.faces.SelectItem");
itemElement2.setJsfid("selectItem2");
itemElement2.setRenderId(generateId());
attr = new AttributeBean();
attr.setName("itemValue");
attr.setValue("value2");
itemElement2.addAttribute(attr);
attr = new AttributeBean();
attr.setName("disabled");
attr.setValue("true");
itemElement2.addAttribute(attr);
attr = new AttributeBean();
attr.setName("selected"); // fixme
attr.setValue("true");
itemElement2.addAttribute(attr);
selectElement.addChild(itemElement2);
root.addChild(selectElement);