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] > >
