Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » Struts 2 »

Re: [s2] s:select and non-primitive values

Don Brown

2007-01-29

Replies:

This seems related to https://issues.apache.org/struts/browse/WW-1601
and http://issues.apache.org/struts/browse/WW-1634

Don

On 1/29/07, Laurie Harper <laurie@(protected):
> I suspect this may be related to the recently mentioned bug/limitation
> in s:select, but I haven't been able to figure out how to work around it
> if so. I'm trying to create a select input for a model property which
> has a POJO type (actually, a persistent entity). Here's a rough outline:
>
> public class Region {
>   public Integer getId() {...}
>   public String getName() {...}
> }
>
> public class Player {
>   public Region getRegion() {...}
>   public void setRegion(Region region) {...}
> }
>
> public class SomeAction {
>   public Object getModel() {/*returns Player*/}
>   public List<Region> getRegions() {...}
> }
>
> <s:select name="region" list="regions"
>        listKey="id" listValue="name"
>        headerKey="-1" headerValue=""
>        label="Region:" labelposition="left"/>
>
> This works well except for selection of the current value. The select
> input always shows with the default/empty option selected. Making
> Region.getId() return 'int' instead of Integer doesn't seem to help, and
> I'm not able to find any other combination of changes that does work.
>
> I should point out that I also have a converter registered globally for
> the Region type. It only ever gets called on form submission, though, to
> convert the selected value from String id to a Region instance. It's
> never called to convert from Region to String.
>
> Am I doing something fundamentally wrong? The selected value *is* set on
> the Player model instance, so everything seems to be working fine except
> for the display of the current property value in the form.
>
> L.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)

©2008 junlu.com - Jax Systems, LLC, U.S.A.