Hi,
As I said, in order to use t:selectItems you need the latest tomahawk
snapshot. It's just a shortcut, of course you can create selectitems
manually.
Cagatay
On 1/15/07, bansi <[EMAIL PROTECTED]> wrote:
Hi Cagatay
Thanks for your response.
The following code in Add Role method results in error
public String addRole() {
deviceRoles.addAll(selectedUserRoles);
return null;
}
ERROR:
javax.faces.FacesException: Collection referenced by UISelectItems with
binding
'#{test.deviceRoles}' and Component-Path : {Component-Path : [Class:
org.ajax4jsf.framework.ajax.AjaxViewRoot,ViewId: /page.jsp][Class:
javax.faces.component.html.HtmlForm,Id: _id0][Class:
org.ajax4jsf.ajax.html.HtmlAjaxOutputPanel,Id: _id6][Class:
javax.faces.component.html.HtmlPanelGrid,Id: _id13][Class:
javax.faces.component.html.HtmlSelectManyListbox,Id: _id19][Class:
javax.faces.component.UISelectItems,Id: _id20]} does not contain Objects
of
type
SelectItem
I fixed the error by hardcoding the values into Add Role method as shown
below
public String addRole() {
deviceRoles.add(new SelectItem("10"," Admin"));
deviceRoles.add(new SelectItem("20"," Focal"));
deviceRoles.add(new SelectItem("30","Architect"));
return null;
}
So I guess the call to "selectedUserRoles" in
deviceRoles.addAll(selectedUserRoles); should
return instances of SelectItem with Id and Value as arguments.
That means whenever users selects multiple values from user roles select
box, the
setselectedUserRoles() method should recieve both Id and Value as instance
of Select Item.
Hence i changed the declaration to
private List selectedUserRoles = new ArrayList<SelectItem>();
But not sure how to change the defination of setselectedUserRoles() method
to recieve
instances of SelectItem with Id and Value as Arguments. Here is the
defination
public void setSelectedUserRoles(List selectedUserRoles) {
this.selectedUserRoles = selectedUserRoles;
System.out.println("Setter this.selectedUserRoles "+
this.selectedUserRoles);//prints
only Id. I wanna print both Id and
Value so
that i can pass bot Id and value to device
roles
}
Any pointers/suggestions will be highly appreciated in this regard.
Here is the code snippet in backing bean :
--------------------------------
TestBean.java (Backing Bean)
------------------------------------
private List<Role> userRoles;
private List deviceRoles = new ArrayList<SelectItem>();
private List selectedUserRoles = new ArrayList<SelectItem>();
private List selectedDeviceRoles = new ArrayList<SelectItem>();
public List getSelectedUserRoles() {
System.out.println("Getter this.selectedUserRoles
"+selectedUserRoles);
return selectedUserRoles;
}
public void setSelectedUserRoles(List selectedUserRoles) {
this.selectedUserRoles = selectedUserRoles;
System.out.println("Setter this.selectedUserRoles "+
this.selectedUserRoles);//prints
only Id. I wanna print both Id and
Value so
that i can pass bot Id and value to device
roles
}
public String addRole() {
deviceRoles.addAll(selectedUserRoles); //results in error "does
not contain
Objects
of type SelectItem"
return null;
}
Regards
Bansi
--
View this message in context:
http://www.nabble.com/selectManyListBox-to-add-remove-user-Roles-tf2969171.html#a8367455
Sent from the MyFaces - Users mailing list archive at Nabble.com.