This content has been marked as final.
Show 7 replies
-
1. Re: selectOneMenu and selectItems problem
pmuir Jul 10, 2007 6:35 PM (in response to mttu)Any output from h:messages?
-
2. Re: selectOneMenu and selectItems problem
mttu Jul 11, 2007 8:11 AM (in response to mttu)"pete.muir@jboss.org" wrote:
Any output from h:messages?
Hi,
message from h:messages is:
"value is not valid"
but why ?
the Converter class:@Name("CompanyConverter") @Converter public class CompanyConverter implements javax.faces.convert.Converter, Serializable { @Logger private Log log; @In(required = false) List<Company> companies; /* * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, * javax.faces.component.UIComponent, java.lang.String) */ public Object getAsObject(FacesContext arg0, UIComponent arg1, String string) throws ConverterException { if (string == null || string.length() == 0) { return null; } long id = Long.valueOf(string).longValue(); log.info("[getAsObject] string -> " + string); log.info("[getAsObject] id -> " + id); log.info("[getAsObject] companies -> " + companies); if (companies != null) { for (Company referenceData : companies) { if (referenceData.getId() == id) { log.info("[getAsObject] returning -> " + referenceData); return referenceData; } } } log.info("[getAsObject] returning -> null" ); return null; } /* * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, * javax.faces.component.UIComponent, java.lang.Object) */ public String getAsString(FacesContext arg0, UIComponent arg1, Object obj) throws ConverterException { log.info("[getAsString] obj -> " + obj); if (obj == null) { return null; } Company company = (Company) obj; log.info("[getAsString] company -> " + company); return String.valueOf(company.getId()); } }
Both methods return not null values.
Any idea ?
Thanks,
Mttu -
3. Re: selectOneMenu and selectItems problem
milli Jul 11, 2007 12:32 PM (in response to mttu)If you are converting ID from long to string and vice versa, why don't you try <s:convertEntity />. But you would still get the same error unless you override equals in your Company class to equate id's.
-
4. Re: selectOneMenu and selectItems problem
mttu Jul 11, 2007 1:25 PM (in response to mttu)OK, it started to worked after i had changed:
@Out private Company selectedCompany;
and implemented equals in Company.
It's still not clear to me why selectedCompany should be outjected in this case. -
5. Re: selectOneMenu and selectItems problem
trickyvail Jul 11, 2007 1:55 PM (in response to mttu)If your Company object is an entity you need to be aware of:
http://hibernate.org/109.html -
6. Re: selectOneMenu and selectItems problem
mttu Jul 11, 2007 5:32 PM (in response to mttu)But why selected company has to be outjected ?
-
7. Re: selectOneMenu and selectItems problem
pmuir Jul 12, 2007 6:06 AM (in response to mttu)It probably subtley altered the way in which your variables were scoped. The way you have written your code doesn't require it. milli is correct - you need to make sure the selected object appears in the original list, otherwise validation fails.