Hi.
Im on tobago 1.0.20 I'm think I've missed something here. I just can't find out what is wrong with my code. I'm trying to bind the selected item of a selectOneChoice to a property on a controller. The selectOneChoice is initially rendered correctly with data from my database. But when I try to select from the list, I get a validation error, and the setSelectedServiceReportType to set the value back to the controller is never called. If I set the test up with an int og even a Long as values for the selectItems it all works fine.. What am I doing wrong?? I have this test code: jsp: <tc:box label="Register New Report"> <tc:panel> <f:facet name="layout"> <tc:gridLayout columns="*;*;" rows="fixed;" border="0" /> </f:facet> <tx:selectOneChoice label="Select One" value="#{testController.selectedServiceReportType}"> <f:selectItems value="#{testController.serviceReportTypes}"/> <f:facet name="change"> <tc:command action="#{testController.selectedServiceReportTypeAction}"/> </f:facet> </tx:selectOneChoice> <tx:label value="TEsting"/> </tc:panel> </tc:box> controller: public class TestController { private ArrayList<ServiceReportType> serviceReportTypes; private ServiceReportType selectedServiceReportType; public void setSelectedServiceReportType(ServiceReportType selectedServiceReportType) { this.selectedServiceReportType = selectedServiceReportType; } public ServiceReportType getSelectedServiceReportType() { return selectedServiceReportType; } public ArrayList<SelectItem> getServiceReportTypes() { if (serviceReportTypes == null) { serviceReportTypes = new ArrayList<ServiceReportType>(); for (int i = 0; i < 3; i++) { ServiceReportType serviceReportType = new ServiceReportType(); serviceReportType.setDescription("Decription " + i); serviceReportTypes.add(serviceReportType); } } ArrayList<SelectItem> selectItems = new ArrayList<SelectItem>(); for (ServiceReportType serviceReportType : serviceReportTypes) { selectItems.add(new SelectItem(serviceReportType, serviceReportType.getDescription())); } return selectItems; } public String selectedServiceReportTypeAction() { return "OK"; } } ServiceReportType entity (which is Hibernate mapped): public class ServiceReportType implements Serializable { private static final long serialVersionUID = 2869236275653791385L; private Long id; private String typeCode; private String description; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTypeCode() { return typeCode; } public void setTypeCode(String typeCode) { this.typeCode = typeCode; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }