Nice one Mike, finally got it working after spending most of yesterday
scratching my head and cursing google for not finding exactly what I
wanted ;-)
Cheers
Aled
Michael Horwitz wrote:
You are going to need to provide Spring MVC with a way to get from an
id to a country and vice-versa. As you correctly point out this is
done by registering a custom property editor in your controller. To do
this you need to:
1) Extend the class PropertyEditorSupport to create the property
editor:
http://java.sun.com/j2se/1.5.0/docs/api/java/beans/PropertyEditorSupport.html
<http://java.sun.com/j2se/1.5.0/docs/api/java/beans/PropertyEditorSupport.html>
You need to override the getAsText() and setAsText() methods. The
first should call getValue() and return the id as text, and the second
should accept a text id and call setValue() on the editor with the
corresponding country object.
2) You then register this custom editor using one of the appropriate
methods on your controller: initBinder() see api on
http://tinyurl.com/2sutrm
And it should all work like magic....
Mike.
On 7/1/07, *Aled Rhys Jones* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Hi peeps
Could someone recommend the best way of populating a drop down list in
edit/add forms? New to spring mvc and not sure of the correct way of
going about it.
I have a list of countries stored in the database. Access to
these are
provided by a Generic Manager for crud. One of my edit pages needs to
associate the object with a Country. I've tried to do it with
referenceData but I'm getting problems.
protected Map referenceData(HttpServletRequest request) throws
Exception {
Map retval = new HashMap<String, Object>();
retval.put("countryList", countryManager.getAll());
return retval;
}
The above does return a list of country objects.
I've got the below in my jsp:
<form:select path="contact.country">
<form:option value="-" label="--Please Select"/>
<form:options items="${countryList}" itemValue="id"
itemLabel="name"/>
</form:select>
Unfortunately this throws a JasperException when I try to load the
page. If I remove the above from the jsp the page works fine.
From my googling, it seems I may need to use a PropertyEditor, but I
can't find any concrete examples of what I'm trying to do, and how to
use the PropertyEditor in this context.
Methinks I really need to buy a spring mvc book ;-)
Any ideas?
Thanks
Aled
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
------------------------------------------------------------------------
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.9.14/882 - Release Date: 30/06/2007 15:10
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]