On 8/7/07, syg6 <[EMAIL PROTECTED]> wrote:
>
>
> Thanks for the explanation, that cleared up a lot of questions I had. Have
> you ever considered writing your own documentation / book on Spring or
> Spring MVC? You'd be doing us all a favor!


Pleasure. Good news on the book front, it's already been done, although not
by me! There is a list here: http://www.appfuse.org/display/APF/Spring

In the end it worked with the code Absolut posted. The only glitch was when
> I have a new PackageInspection it was choking saying my Inspector object
> was
> null. This was because I didn't initialize the PackageInspection.Inspector
> object in my constructor. Once I did that, all was well.


O.K.! As long as it works... ;-)

For the moment it seems I do not need to create a Custom Property Editor;
> all CRUD operations are working a-ok. But something tells me I'll need to
> use them at some point (not really clear on what they do) so I'll have to
> look into it ...
>
> Many thanks for the timely help!
> Bob
>
>
> Michael Horwitz wrote:
> >
> > The select list tag needs several elements to work:
> >
> > 1) A collection of objects to populate the list (items)
> > 2) A property on each object in the collection used to populate the
> > corresponding option label (itemLabel)
> > 3) A property on each object in the collection used to populate the
> > corresponding option value (itemValue)
> > 3) The value currently set on your command object so that the
> appropriate
> > element in the collection can be marked as 'selected' (path).
> >
> > So the path performs two functions: it sets the name of the input, and
> it
> > tells the form which option in the select list should be marked as
> > 'selected'.
> >
> > Also worth noting, if you have not done so already, that you will most
> > likely need to register a custom property editor to handle your
> inspector
> > class (assuming the inspector is a class.....).
> >
> > Mike.
> >
> > On 8/6/07, syg6 <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >> Excellent! That's the piece I was missing! I didn't know what to put
> for
> >> the
> >> path. I still don't think it's very intuitive. I thought path referred
> to
> >> a
> >> getter in your command object. Which I thought was quite limiting as
> you
> >> wouldn't be able to use it for other objects in the request. But now I
> >> see
> >> it can work with any old object. But I am curious why 'country.id' is
> >> used
> >> as the path. Is the path nothing more than the name of the form input
> id
> >> you
> >> send to the server when you submit?
> >>
> >> At any rate, I'll try it first thing in the morning at work.
> >>
> >> Many thanks!
> >>
> >> Bob
> >>
> >>
> >>
> >> Absolut wrote:
> >> >
> >> > It is possible to write a list of objects to the request in order to
> >> use
> >> > this values to populate a drop down.
> >> >
> >> > Here a short example code:
> >> >
> >> > SpringController:
> >> >       ....
> >> >       @Override
> >> >       protected Map referenceData(HttpServletRequest request) throws
> >> > Exception {
> >> >               Map<String, Object> model = new HashMap<String,
> >> Object>();
> >> >               model.put("countryList", countryManager.getCountries
> ());
> >> >               return model;
> >> >       }
> >> >       ....
> >> >
> >> > JSP:
> >> > <form:select path="country.id">
> >> >    <form:options items="${countryList}" itemValue="id"
> >> itemLabel="name"/>
> >> > </form:select>
> >> >
> >> > Bye,
> >> >
> >> > Peter
> >> >
> >> >
> >> > -----Ursprüngliche Nachricht-----
> >> > Von: syg6 [mailto:[EMAIL PROTECTED]
> >> > Gesendet: Montag, 6. August 2007 15:07
> >> > An: [email protected]
> >> > Betreff: Re: [appfuse-user] AW: AW: Can I use form:select with data
> >> bound
> >> > using referenceDate()
> >> >
> >> >
> >> > Yes, I see that the problem is with the 'path' attribute.
> >> >
> >> > The problem is that I want to use the form:select tag with an object
> in
> >> > the
> >> > request, not my command object. Overriding the referenceData() method
> >> > causes
> >> > Spring to stick whatever data you load there in the request (I think
> >> ...).
> >> > It's that data that I want to use to populate my select.
> >> >
> >> > It is rightly not a part of the command object, but rather data from
> >> which
> >> > I
> >> > choose an Inspector. And that Inspector is assigned to my command
> >> object
> >> > when I submit.
> >> >
> >> > I am not opposed to using spring:bind, I just thought I could somehow
> >> tell
> >> > the form:select tag, 'oy! don't use the command object, use the
> >> request!'
> >> >
> >> > But I guess not ...
> >> >
> >> > Bob
> >> >
> >> >
> >> > Absolut wrote:
> >> >>
> >> >> It is possible to use a collection of objects generated in the
> >> >> referenceData method, I don't think that this the problem in your
> >> >> code.
> >> >> I think that you have a wrong value in your "path" attribute:
> >> >>
> >> >> If your command object has a setter called "setInspector(String
> >> >> inspector)", your form tag would look like <form:select
> >> >> path="inspector"
> >> >> items="${inspectors}"  itemLabel="name" itemValue="id"/>
> >> >>
> >> >> Please take a close look at the "path" notation:
> >> >> The value must be the same as the corresponding setter / getter in
> >> >> your command object (...setInspector(...) / getInspector(...)->
> >> >> path="inspector"). In your example (1. mail), the value is
> >> >> "...path="inspectors"....". Maybe the "s" is wrong there...
> >> >>
> >> >>
> >> >> Bye,
> >> >>
> >> >> Peter
> >> >>
> >> >> PS: The error message corresponds to the "path" attribute, not to
> one
> >> >> of the other attributes (items, itemValue od itemLabel):
> >> >>>>Invalid property 'inspectors' of bean class
> >> >> [com.mycompany.myapp.model.PackageInspection]: Bean property
> >> >> >'inspectors'
> >> >> is not readable or has an invalid getter method
> >> >>
> >> >>
> >> >>
> >> >> -----Ursprüngliche Nachricht-----
> >> >> Von: syg6 [mailto:[EMAIL PROTECTED]
> >> >> Gesendet: Montag, 6. August 2007 14:49
> >> >> An: [email protected]
> >> >> Betreff: Re: [appfuse-user] AW: Can I use form:select with data
> bound
> >> >> using
> >> >> referenceDate()
> >> >>
> >> >>
> >> >> Hi Peter, thanks for the response,
> >> >>
> >> >> I read the reference guide already and unfortunately it only has one
> >> >> example, when your command object has a getter for the reference
> data
> >> >> you want to use to populate a Select. I don't have this option
> because
> >> >> my command object, PackageInspection, has exactly one Inspector, not
> a
> >> >> list of Inspectors.
> >> >>
> >> >> I would think this is a pretty normal thing to want to do, but it
> >> >> looks as if the form:select tag only works with objects within the
> >> >> command
> >> > object.
> >> >>
> >> >> Am I wrong about this?
> >> >>
> >> >> Cheers,
> >> >> Bob
> >> >>
> >> >>
> >> >> Absolut wrote:
> >> >>>
> >> >>> Hi Bob!
> >> >>>
> >> >>> I think the problem is the part ... path="inspectors"... It seems
> >> >>> that your command object of the type "PackageInspection" has no
> >> >>> property "inspectors"
> >> >>> (or no method "getInspectors()")
> >> >>>
> >> >>> There are many ohter possibilities how to generate an "select" tag
> >> >>> with the new Spring Taglib.
> >> >>> For more details i would recomend to read
> >> >>> "
> http://static.springframework.org/spring/docs/2.0.x/reference/mvc.ht
> >> >>> m
> >> >>> l#mvc-
> >> >>> formtaglib"
> >> >>>
> >> >>> Bye,
> >> >>>
> >> >>> Peter
> >> >>>
> >> >>> -----Ursprüngliche Nachricht-----
> >> >>> Von: syg6 [mailto:[EMAIL PROTECTED]
> >> >>> Gesendet: Montag, 6. August 2007 14:34
> >> >>> An: [email protected]
> >> >>> Betreff: [appfuse-user] Can I use form:select with data bound using
> >> >>> referenceDate()
> >> >>>
> >> >>>
> >> >>> All the posts I see, here on the AppFuse mailing list and all over
> >> >>> the net, use the old spring:bind tag. Can I use the Spring 2.0
> >> >>> form:select tag?
> >> >>>
> >> >>> I have implemented referenceData() in my XxFormController class,
> and
> >> >>> add a Map of Inspectors to the Model. But in the jsp, the following
> >> >>> code:
> >> >>>
> >> >>> <form:select  path="inspectors"
> >> items="${inspectors}"  itemLabel="name"
> >> >>> itemValue="id"/>
> >> >>>
> >> >>> gives me this:
> >> >>>
> >> >>>>Invalid property 'inspectors' of bean class
> >> >>> [com.mycompany.myapp.model.PackageInspection]: Bean property
> >> >>> >'inspectors'
> >> >>> is not readable or has an invalid getter method
> >> >>>
> >> >>> Ostensibly this is because Inspectors is not part of the 'command'
> >> >>> class, PackageInspection, but rather a list of Inspectors added to
> >> >>> the request via
> >> >>> referenceData() to populate a Select.
> >> >>>
> >> >>> Can I use the select tag or do I have to use the old bind tag?
> >> >>>
> >> >>> Thanks,
> >> >>> Bob
> >> >>> --
> >> >>> View this message in context:
> >> >>>
> http://www.nabble.com/Can-I-use-form%3Aselect-with-data-bound-using-r
> >> >>> e
> >> >>> ferenc
> >> >>> eDate%28%29-tf4223839s2369.html#a12015409
> >> >>> Sent from the AppFuse - User mailing list archive at Nabble.com.
> >> >>>
> >> >>>
> ---------------------------------------------------------------------
> >> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>>
> >> >>> No virus found in this incoming message.
> >> >>> Checked by AVG Free Edition.
> >> >>> Version: 7.5.476 / Virus Database: 269.11.6/938 - Release Date:
> >> >>> 05.08.2007
> >> >>> 16:16
> >> >>>
> >> >>>
> >> >>> No virus found in this outgoing message.
> >> >>> Checked by AVG Free Edition.
> >> >>> Version: 7.5.476 / Virus Database: 269.11.6/938 - Release Date:
> >> >>> 05.08.2007
> >> >>> 16:16
> >> >>>
> >> >>>
> >> >>>
> ---------------------------------------------------------------------
> >> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>>
> >> >>>
> >> >>>
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> http://www.nabble.com/Can-I-use-form%3Aselect-with-data-bound-using-re
> >> >> ferenc
> >> >> eDate%28%29-tf4223839s2369.html#a12015604
> >> >> Sent from the AppFuse - User mailing list archive at Nabble.com.
> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>
> >> >> No virus found in this incoming message.
> >> >> Checked by AVG Free Edition.
> >> >> Version: 7.5.476 / Virus Database: 269.11.6/938 - Release Date:
> >> >> 05.08.2007
> >> >> 16:16
> >> >>
> >> >>
> >> >> No virus found in this outgoing message.
> >> >> Checked by AVG Free Edition.
> >> >> Version: 7.5.476 / Virus Database: 269.11.6/938 - Release Date:
> >> >> 05.08.2007
> >> >> 16:16
> >> >>
> >> >>
> >> >>
> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >> >>
> >> >>
> >> >>
> >> >
> >> > --
> >> > View this message in context:
> >> >
> >>
> http://www.nabble.com/Can-I-use-form%3Aselect-with-data-bound-using-referenc
> >> > eDate%28%29-tf4223839s2369.html#a12015922
> >> > Sent from the AppFuse - User mailing list archive at Nabble.com.
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> > For additional commands, e-mail: [EMAIL PROTECTED]
> >> >
> >> > No virus found in this incoming message.
> >> > Checked by AVG Free Edition.
> >> > Version: 7.5.476 / Virus Database: 269.11.6/938 - Release Date:
> >> 05.08.2007
> >> > 16:16
> >> >
> >> >
> >> > No virus found in this outgoing message.
> >> > Checked by AVG Free Edition.
> >> > Version: 7.5.476 / Virus Database: 269.11.6/938 - Release Date:
> >> 05.08.2007
> >> > 16:16
> >> >
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> > For additional commands, e-mail: [EMAIL PROTECTED]
> >> >
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Can-I-use-form%3Aselect-with-data-bound-using-referenceDate%28%29-tf4223839s2369.html#a12022790
> >> Sent from the AppFuse - User mailing list archive at Nabble.com.
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Can-I-use-form%3Aselect-with-data-bound-using-referenceDate%28%29-tf4223839s2369.html#a12029565
> Sent from the AppFuse - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to