A lot of work to write the bean? Or to synch the values with your business layer?
I think both of these are going to get a lot easier as development continues. We already have the DynaFormBean now, helping the former, and with the pluggable ConvertUtils the latter has gotten easier too. Hopefully we'll see a more flexible mapping package soon enough, and eventually get to a point where all of the validation and conversion logic can be specified declaritively. From my experience using Struts I think that keeping the form state as a separate class is definitely the right approach. I just think that there are still some cracks in the framework that could use some filling in to make the whole thing more seamless...I'm sure it will get there eventually. -- Tim Moore / Blackboard Inc. / Software Engineer 1899 L Street, NW / 5th Floor / Washington, DC 20036 Phone 202-463-4860 ext. 258 / Fax 202-463-4863 > -----Original Message----- > From: Bob Lee [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, April 09, 2002 2:54 PM > To: Struts Developers List > Subject: Re: Is FormBean mandatory??? > > > I think I may need to elaborate before I get flamed. I do > *not* suggest coupling your presentation layer and middle > tier with a single value object, as it is often the case that > your middle tier objects loosely correspond to the data > submitted in your form if at all; if they are a lot alike, > your application probably isn't doing much. > > I am simply asking why using a separate FormBean is the best > solution. It seems like an awful lot of work, especially if > you are just getting/setting Strings. > > Bob > > > ----- Original Message ----- > From: "Bob Lee" <[EMAIL PROTECTED]> > To: "Struts Developers List" <[EMAIL PROTECTED]> > Sent: Tuesday, April 09, 2002 1:40 PM > Subject: Re: Is FormBean mandatory??? > > > > Why is there a need for seperate FormBean object in the > View? Couldn't > > you just use a generic bean that could hold your > application-specific > validation > > logic and be shared between your view and model? Then, you could > repopulate > > the form directly from the request. > > > > One problem I see with this is that the names of your form > fields and > > the fields in other parts of your application (i.e. the model) are > > coupled. > This > > is a small sacrifice for the automation you get though and > most likely > > the case for many applications already. > > > > Second, you lose field-specific filtering. This isn't such > a big deal > > because you really just need to filter out characters that would > > interfere with your HTML redisplaying properly anyway which will be > > the same for > every > > field. > > > > Lastly, there's the validation. You could go two directions on this > > one. One, you could have a method built into your > domain/value object > > to > perform > > the validation. Struts would handle the String -> Number, etc. > > conversions automatically returning appropriate error > messages. Then, > > it would call > your > > validation method and append those error messages (the automatic > validations > > would supercede the manual ones). Admittedly this could get a bit > > tricky, but it may be better than doing this manually. > > > > Or two, the Struts user could implement a FormValidator that would > > work against a generic value Map interface (in HTTP requests, this > > would be backed by the HTTPRequest object). You could argue > that you > > lose compile time type checking in this case, but is it really that > > valuable in the current incarnation? > > > > Thanks, > > Bob > > > > ----- Original Message ----- > > From: "Tim Moore" <[EMAIL PROTECTED]> > > To: "Struts Developers List" <[EMAIL PROTECTED]> > > Sent: Tuesday, April 09, 2002 11:59 AM > > Subject: RE: Is FormBean mandatory??? > > > > > > > -----Original Message----- > > > From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] > > > Sent: Tuesday, April 09, 2002 12:10 PM > > > To: Struts Developers List > > > Subject: RE: Is FormBean mandatory??? > > > > > > > > > > > > > > > On Tue, 9 Apr 2002, Tim Moore wrote: > > > > > > > Date: Tue, 9 Apr 2002 11:56:22 -0400 > > > > From: Tim Moore <[EMAIL PROTECTED]> > > > > Reply-To: Struts Developers List <[EMAIL PROTECTED]> > > > > To: Struts Developers List <[EMAIL PROTECTED]> > > > > Subject: RE: Is FormBean mandatory??? > > > > > > > > > -----Original Message----- > > > > > From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] > > > > > Sent: Tuesday, April 09, 2002 11:38 AM > > > > > To: Struts Developers List > > > > > Cc: [EMAIL PROTECTED] > > > > > Subject: RE: Is FormBean mandatory??? > > > > > > > > > > On Tue, 9 Apr 2002, Konstantin Priblouda wrote: > > > > > > > > > > > Date: Tue, 9 Apr 2002 08:15:03 -0700 (PDT) > > > > > > From: Konstantin Priblouda <[EMAIL PROTECTED]> > > > > > > Reply-To: Struts Developers List > > > > > > <[EMAIL PROTECTED]> > > > > > > To: Struts Developers List <[EMAIL PROTECTED]>, > > > > > > [EMAIL PROTECTED] > > > > > > Subject: RE: Is FormBean mandatory??? > > > > > > > > > > > > --- Matt Raible <[EMAIL PROTECTED]> wrote: > > > > > > > Web forms can only handle Strings and booleans - > so if your > > > > > > > value objects have Dates or Integers, get ready for some > > > > > > > fun! > > > > > > > > > > > > Integers are completely OK, floats depend on sanity of > > > web users. > > > > > > ( imagine some bank clerk who is used to enter dots to > > > > > > separate 000... ) > > > > > > > > > > > > > > > > Using int or Integer properties in a form bean misses > the whole > > > > > reason for its existence -- to reproduce the user's input in > > > > > case they made a mistake. > > > > > > > > > > > > > It's still nice that you can use integer properties, > though, for > > > > things like select fields and radio buttons...anything that > > > > doesn't allow free-form text input. > > > > > > > > > > How do *you* know that your Struts client is actually a > browser (and > > > therefore using the SELECT box to control the input value that is > > > sent)? It could be a program that is submitting HTTP requests to > > > trigger transactions in your webapp. :-) > > > > Then I'm not concerned about it throwing an exception if I get a > > garbage value, or maintaining the garbage value for the > response. I > > still do bounds checking of course if that's necessary...it's just > > nice to have the String to int conversion happen implicitly. Same > > with booleans and checkboxes. > > > > Now I guess if I decide to change my form to use a text > input instead > > of a drop-down, then I have to go back and change the form bean and > > action. But most of the time, that's not even a remote > > possibility--like if you're choosing an item from a list and it's > > sending the primary key back when you submit. > > > > In general, though, I don't usually bother making "pretty" error > > messages for the types of errors that could have only > originated from > > a buggy or malicious client request; I just throw an exception. > > Presumably the response isn't going to be displayed directly to the > > user anyway if they're using a GUI client or something like > that. Is > > there any other reason to use only String properties in that case? > > > > -- > > Tim Moore / Blackboard Inc. / Software Engineer > > 1899 L Street, NW / 5th Floor / Washington, DC 20036 > > Phone 202-463-4860 ext. 258 / Fax 202-463-4863 > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > > -- > To unsubscribe, e-mail: > <mailto:struts-dev-> [EMAIL PROTECTED]> > For > additional commands, > e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>