Re: [POLL] What do you use action forms for?
On Thu, 2005-05-12 at 15:40 -0700, Michael Jouravlev wrote: On 5/12/05, Leon Rosenberg [EMAIL PROTECTED] wrote: Maybe I'm repeating myself, but I give myself a last try :-) I'm a beliefer of design by responsibility. When I design an application I identify responsibilities to form and define components, modules and layers. Therefore I like each class to have a clear contract. Ok, I will try for the last time too :) You design your app based on how well the modules designed, how fast is it, how efficient, etc. Where is the customer in this scheme? What about usability? I base my design on usability. I've never heard about design by usability before. How exactly does it works? Could you explain it? Maybe we all (or at least I) can learn a bit :-) It would also be cool if you could give a short comparison to common design methods, like OOD/COD with AOA, SOA and MDA. thanx in advance Leon Then I think about nice and observable module interaction, and only then I care about memory consumption. As long as we build webapps based on current HTTP standard, we need to take the quirks of this standard into consideration. We need to make user's life easier, and to allow him to make mistakes, to click wrong buttons, to wander around and then return to same page... We should allow more freedom to a user. In the end, we build applications for the user. If splitting one request into two is beneficial for usability, I will do it. And I will handle the consequences. Because usability first, simplicity of programming is second. Well it maybe get too detailed, but if you keep objects in sessions instead of request you are actually working against the garbage collector. This is a matter of implementation. I don't consider inner workings of garbage collector as a major factor when I design my application. Well, HTTP request/response cycle is a matter of implementation too. But in this case it directly affects usability. HTTP is not going away tomorrow, so I prefer to work around HTTP instead of caring about memory usage. Other, very powerful anti-session-argument is concurrency. If your session object actually represent a business data object, which is managed by some business logic components or stored in the db (or both) you have to watch for changes done by other users/actors. This mean that you actually have to notify the webservers about any changes to the objects This is not an anti-session argument, this is argument against optimistic concurrency model and offline editing. This is not really different, when request is used. Say, you edit an existing object. You load object from database and show the edit form. A user takes her time painting the nails, and then in 10 minutes submits the data. The object was not sitting in the session for 10 minutes, so you saved here, I agree. But if someone else already have changed it, you won't be able to save it, just like if it were in session, no difference. I guess we should stop arguing ;-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[FRIDAY] Re: [POLL] What do you use action forms for?
On 5/13/05, Leon Rosenberg [EMAIL PROTECTED] wrote: It would also be cool if you could give a short comparison to common design methods, like OOD/COD with AOA, SOA and MDA. :) Oooh ... acronyms! :) :) That rock band idea is sounding better and better ... :) -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [FRIDAY] Re: [POLL] What do you use action forms for?
Why would you want to trade our beautiful java world acronyms for other ones like MP3, OGG, WMA, RIAA, MPAA or SABAM (in belgium) Ok 2 more hours then it's the really interesting part of the friday: traffic to get back home from the capital when trains are in strike. Cheers. Le Vendredi 13 Mai 2005 13:27, Ted Husted a écrit : On 5/13/05, Leon Rosenberg [EMAIL PROTECTED] wrote: It would also be cool if you could give a short comparison to common design methods, like OOD/COD with AOA, SOA and MDA. :) Oooh ... acronyms! :) : :) That rock band idea is sounding better and better ... :) -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Delbecq Royal Meteorological Institute of Belgium - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [FRIDAY] Re: [POLL] What do you use action forms for?
Hey, I played clarinet 10 years ago... is there space for me? :0 Regards marco -Original Message- From: Ted Husted [mailto:[EMAIL PROTECTED] Sent: 13 May 2005 12:27 To: Struts Users Mailing List Subject: [FRIDAY] Re: [POLL] What do you use action forms for? On 5/13/05, Leon Rosenberg [EMAIL PROTECTED] wrote: It would also be cool if you could give a short comparison to common design methods, like OOD/COD with AOA, SOA and MDA. :) Oooh ... acronyms! :) :) That rock band idea is sounding better and better ... :) -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
#4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#4 On 5/12/05, Marco Mistroni [EMAIL PROTECTED] wrote: #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
#4 -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:05 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. 3167 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? thanx Leon -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:05 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. 3167 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
Hello, In output page I just display actionform properties.. For example, @work, I display actionform properties after a search, or after an update @home, now that I realize it, I use them only for input..because in output of my action I have either a statusmsg or a collection of POJO to display regards marco -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:42 To: Struts Users Mailing List Subject: RE: [POLL] What do you use action forms for? To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? thanx Leon -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:05 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. 3167 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
#4 is pretty much the standard. your bean declares fields, you use the struts-html tags to draw your form and link it to the action mapping. also use struts tags to render a block of error messages in a list, or next to each form input. the action mapping declares it uses the form bean. turn validate=true on. declare your validation rules in validation.xml for your bean. execute the jsp with the form, fill it out, if it fails, your form reloads and struts-html auto-populates the form again for you. you can also use validate=false on teh action mapping, which means you get to one of your custom actions and get passed the form in the execute method. you then need to obtain the validation yourself using form.validate() and saveErrors if any are present. you can forward to your form again if you wish and it will still be populated. that is I believe why #4 is most peoples' answer as it's the most useful. Allistair. -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:42 To: Struts Users Mailing List Subject: RE: [POLL] What do you use action forms for? To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? thanx Leon -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:05 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- -- The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. 3167 -- -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] FONT SIZE=1 FACE=VERDANA,ARIAL COLOR=BLUE --- QAS Ltd. Developers of QuickAddress Software a href=http://www.qas.com;www.qas.com/a Registered in England: No 2582055 Registered in Australia: No 082 851 474 --- /FONT - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
In my particular usage (which might be half or even fully cocked) I do the following: For Input, I take the details in via a form, like most I assume; For Viewing/Editing or Amending I take a POJO from Hibernate and then using PropertyUtils copy the data from the POJO to the Form and then use the form to display as either text (for Viewing) or as objects (for Editing). This ensures that I do not have to cater for two types of object (POJO and Form) within the JSP; Christopher Marsh-Bourdon www.marsh-bourdon.com -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:49 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? Hello, In output page I just display actionform properties.. For example, @work, I display actionform properties after a search, or after an update @home, now that I realize it, I use them only for input..because in output of my action I have either a statusmsg or a collection of POJO to display regards marco -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:42 To: Struts Users Mailing List Subject: RE: [POLL] What do you use action forms for? To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? thanx Leon -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:05 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. 3167 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy
Re: [POLL] What do you use action forms for?
pretty much what is on the input form. :) eg: a search form would return the same search form with the set parameters. the result i pass as a Collection in Request imho, in a lot of the cases (mostly simple) it is just not worth the effort to do a separation of input and output ActionForm 's riyaz Leon Rosenberg wrote: To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
well for a search form, it's not like you really need the values of the form remembered, since the resultant view is always going to be a search results page. your search action could quite happily just worry about request.getParameter(searchInputType). we use ActionForm only where it represents some kind of domain/business object that requires validation. unless you want to validate your search form, i don't see the point. Allistair. -Original Message- From: rmanchu [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:57 To: Struts Users Mailing List Subject: Re: [POLL] What do you use action forms for? pretty much what is on the input form. :) eg: a search form would return the same search form with the set parameters. the result i pass as a Collection in Request imho, in a lot of the cases (mostly simple) it is just not worth the effort to do a separation of input and output ActionForm 's riyaz Leon Rosenberg wrote: To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] FONT SIZE=1 FACE=VERDANA,ARIAL COLOR=BLUE --- QAS Ltd. Developers of QuickAddress Software a href=http://www.qas.com;www.qas.com/a Registered in England: No 2582055 Registered in Australia: No 082 851 474 --- /FONT - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
Sorry, but you described #2 and not #4. On Thu, 2005-05-12 at 09:49 +0100, Allistair Crossley wrote: #4 is pretty much the standard. your bean declares fields, you use the struts-html tags to draw your form and link it to the action mapping. also use struts tags to render a block of error messages in a list, or next to each form input. the action mapping declares it uses the form bean. turn validate=true on. declare your validation rules in validation.xml for your bean. execute the jsp with the form, fill it out, if it fails, your form reloads and struts-html auto-populates the form again for you. you can also use validate=false on teh action mapping, which means you get to one of your custom actions and get passed the form in the execute method. you then need to obtain the validation yourself using form.validate() and saveErrors if any are present. you can forward to your form again if you wish and it will still be populated. that is I believe why #4 is most peoples' answer as it's the most useful. Allistair. -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:42 To: Struts Users Mailing List Subject: RE: [POLL] What do you use action forms for? To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? thanx Leon -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:05 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- -- The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. 3167 -- -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] FONT SIZE=1 FACE=VERDANA,ARIAL COLOR=BLUE --- QAS Ltd. Developers of QuickAddress Software a href=http://www.qas.com;www.qas.com/a Registered in England: No 2582055 Registered in Australia: No 082 851 474 --- /FONT
Re: [POLL] What do you use action forms for?
indeed. i was giving a simple example. it can well be an data insert form (where validation is required) - with some appropriate message/result returned with it. it is quite easy to use the same actionform for input/output riyaz Allistair Crossley wrote: well for a search form, it's not like you really need the values of the form remembered, since the resultant view is always going to be a search results page. your search action could quite happily just worry about request.getParameter(searchInputType). we use ActionForm only where it represents some kind of domain/business object that requires validation. unless you want to validate your search form, i don't see the point. Allistair. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
;) -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 10:16 To: Struts Users Mailing List Subject: RE: [POLL] What do you use action forms for? Sorry, but you described #2 and not #4. On Thu, 2005-05-12 at 09:49 +0100, Allistair Crossley wrote: #4 is pretty much the standard. your bean declares fields, you use the struts-html tags to draw your form and link it to the action mapping. also use struts tags to render a block of error messages in a list, or next to each form input. the action mapping declares it uses the form bean. turn validate=true on. declare your validation rules in validation.xml for your bean. execute the jsp with the form, fill it out, if it fails, your form reloads and struts-html auto-populates the form again for you. you can also use validate=false on teh action mapping, which means you get to one of your custom actions and get passed the form in the execute method. you then need to obtain the validation yourself using form.validate() and saveErrors if any are present. you can forward to your form again if you wish and it will still be populated. that is I believe why #4 is most peoples' answer as it's the most useful. Allistair. -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:42 To: Struts Users Mailing List Subject: RE: [POLL] What do you use action forms for? To all of the #4 voter. Can you bring in an example? I mean what exactly do you show on the output page? thanx Leon -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 09:05 To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- -- The information contained herein is confidential and is intended solely for the addressee. Access by any other party is unauthorised without the express written permission of the sender. If you are not the intended recipient, please contact the sender either via the company switchboard on +44 (0)20 7623 8000, or via e-mail return. If you have received this e-mail in error or wish to read our e-mail disclaimer statement and monitoring policy, please refer to http://www.drkw.com/disc/email/ or contact the sender. 3167 -- -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] FONT SIZE=1 FACE=VERDANA,ARIAL COLOR=BLUE
Re: [POLL] What do you use action forms for?
My question would be: * Under this poll how does the Struts MailReader application use ActionForms? I would think the essential question is whether people use ActionForms to 1) Harvest or populate only the default values of form controls. 2) Populate other page members, such as the items displayed on a drop-down lists. In Struts 1.0, the design of the taglib implied (1). In Struts 1.1, we extended the tags to make (2) more convenient. I tried (2) for a while, but went back to (1). I would say that (1) is the cannonical approach, and (2) is a standard deviation. -Ted. On 5/11/05, Michael Jouravlev [EMAIL PROTECTED] wrote: By the way, hopefully by input and output data we understand the same information. For example, this wiki page http://wiki.apache.org/struts/StrutsMultipleActionForms treats data from a page point of view: Most pages have both input data (setup) and output data (request name/value pairs). That means, that input (setup) data is used to build the page, and output data is sent from the page. I just noticed that ;) I treat data from action's point of view. Thus, input data is sent from the browser to the action, and output data generated by action and sent to the page. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Some of you needs a struts mentor ;-) You use display any bean or collection in struts, if it's RO, you don't use formBeans and you use JSTL/displaytag. If you edit, update, insert, etc, you have to use and map a form bean and html tag. Often do I see a formBean mapped on a page that only outputs Or a new Formbean() in action (when struts gives you the handle) .V Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
So you use #2? :) Pedro Salgado On 12/05/2005 14:40, Vic Cekvenich (netsql) [EMAIL PROTECTED] wrote: Some of you needs a struts mentor ;-) You use display any bean or collection in struts, if it's RO, you don't use formBeans and you use JSTL/displaytag. If you edit, update, insert, etc, you have to use and map a form bean and html tag. Often do I see a formBean mapped on a page that only outputs Or a new Formbean() in action (when struts gives you the handle) .V Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Well, your option 1) matched the #2 and 2) matched the #4 :) Pedro Salgado #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other On 12/05/2005 14:04, Ted Husted [EMAIL PROTECTED] wrote: My question would be: * Under this poll how does the Struts MailReader application use ActionForms? I would think the essential question is whether people use ActionForms to 1) Harvest or populate only the default values of form controls. 2) Populate other page members, such as the items displayed on a drop-down lists. In Struts 1.0, the design of the taglib implied (1). In Struts 1.1, we extended the tags to make (2) more convenient. I tried (2) for a while, but went back to (1). I would say that (1) is the cannonical approach, and (2) is a standard deviation. -Ted. On 5/11/05, Michael Jouravlev [EMAIL PROTECTED] wrote: By the way, hopefully by input and output data we understand the same information. For example, this wiki page http://wiki.apache.org/struts/StrutsMultipleActionForms treats data from a page point of view: Most pages have both input data (setup) and output data (request name/value pairs). That means, that input (setup) data is used to build the page, and output data is sent from the page. I just noticed that ;) I treat data from action's point of view. Thus, input data is sent from the browser to the action, and output data generated by action and sent to the page. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
Michael, is #4 clear?? I think people are misunderstanding it. Developers can use a form for input and output (#4/1), but not put display (pure output) data in there (#4/2). The difference is between an edit and view page. -Original Message- From: Marco Mistroni [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 4:05 AM To: 'Struts Users Mailing List' Subject: RE: [POLL] What do you use action forms for? #4 .. #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Notice: This e-mail message, together with any attachments, contains information of Merck Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp Dohme or MSD and in Japan, as Banyu) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
On 5/12/05, Pedro Salgado [EMAIL PROTECTED] wrote: Well, your option 1) matched the #2 and 2) matched the #4 :) Pedro Salgado It might be helpfult to clarify whether by output we mean output that is being used within the html:form tags, or any arbitrary dynamic output. The intended use of the ActionForm is to represent the values of the controls *within* a form. In Struts 1.1, the scope crept so as to include, for example, lists used to populate controls. The cannonical role of the ActionForm is to represent what the user might input into the form, or to default input on behalf of the user (e.g, to edit values previously input.) I don't know if the latter case, providing default input values, counts as output in this thread. Plunking into an ActionForm something like a result list from a search query is an unintended use. The ActionForm was not designed as a Velocity context, but as a way of vetting input from forms. If people are putting result lists on ActionForms, that don't represent input values, then I can understand why multiple ActionForms might be an issue. But, personally, I don't see a compelling argument for putting arbitrary dynamic data on an ActionForm. Any POJO would work as well. I could see a case for a Velocity-type Context that might include an ActionForm as a member, but I would not recommend trying to subvert ActionForms as a Velocity-type Context. If people want a Velocity-type Context, then let's do that, and put the ActionForm inside the page Context. -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
Ted, This is my point too. I think the majority of people answered #4 because data within html:form tags is I/O, but it's not the type of output (i.e., arbitrary display output) I think Michael was trying to convey. -Original Message- From: Ted Husted [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 10:21 AM To: Struts Users Mailing List Subject: Re: [POLL] What do you use action forms for? On 5/12/05, Pedro Salgado [EMAIL PROTECTED] wrote: Well, your option 1) matched the #2 and 2) matched the #4 :) Pedro Salgado It might be helpfult to clarify whether by output we mean output that is being used within the html:form tags, or any arbitrary dynamic output. The intended use of the ActionForm is to represent the values of the controls *within* a form. In Struts 1.1, the scope crept so as to include, for example, lists used to populate controls. The cannonical role of the ActionForm is to represent what the user might input into the form, or to default input on behalf of the user (e.g, to edit values previously input.) I don't know if the latter case, providing default input values, counts as output in this thread. Plunking into an ActionForm something like a result list from a search query is an unintended use. The ActionForm was not designed as a Velocity context, but as a way of vetting input from forms. If people are putting result lists on ActionForms, that don't represent input values, then I can understand why multiple ActionForms might be an issue. But, personally, I don't see a compelling argument for putting arbitrary dynamic data on an ActionForm. Any POJO would work as well. I could see a case for a Velocity-type Context that might include an ActionForm as a member, but I would not recommend trying to subvert ActionForms as a Velocity-type Context. If people want a Velocity-type Context, then let's do that, and put the ActionForm inside the page Context. -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Notice: This e-mail message, together with any attachments, contains information of Merck Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp Dohme or MSD and in Japan, as Banyu) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
I've always felt the ActionForm had become something that wasn't originally intended... I personally use it as something that applies to a PAGE and not just a form, so it becomes an I/O object for me in the truest sense. I love the idea of something like a Velocity-type context. Before I came to Struts I was using a custom framework that was similar in that fashion, and went a step further in that there was a single WorkContext object that handled communication between ALL layers. I don't think that's the optimal solution now, but I think it was a step in the right direction... I toyed with implementing a true VTO/BTO pattern in Struts a while back, that is, a single VTO (View Transfer Object) that handled all values passed to and from the view, and the usual BTO or DTO (Business Transfer Object when discussed in the context of a VTO, or just the usual Data Transfer Object) to communicate between the controllers and the business delegates. Most people I think agree with the idea of a single object communicating between the control and the model, i.e., I don't see too many people saying we should have one object that goes TO a business delegate and one that comes FROM that delegate, i.e., two DTOs per model call, although I suppose there are some valid arguments for that. The point being, if you agree with that approach, I can't see NOT taking the same approach between the control and the view, and likewise, if you do see a two-object communication between control and model as better than you likely feel the same way about between view and control. -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com On Thu, May 12, 2005 10:20 am, Ted Husted said: On 5/12/05, Pedro Salgado [EMAIL PROTECTED] wrote: Well, your option 1) matched the #2 and 2) matched the #4 :) Pedro Salgado It might be helpfult to clarify whether by output we mean output that is being used within the html:form tags, or any arbitrary dynamic output. The intended use of the ActionForm is to represent the values of the controls *within* a form. In Struts 1.1, the scope crept so as to include, for example, lists used to populate controls. The cannonical role of the ActionForm is to represent what the user might input into the form, or to default input on behalf of the user (e.g, to edit values previously input.) I don't know if the latter case, providing default input values, counts as output in this thread. Plunking into an ActionForm something like a result list from a search query is an unintended use. The ActionForm was not designed as a Velocity context, but as a way of vetting input from forms. If people are putting result lists on ActionForms, that don't represent input values, then I can understand why multiple ActionForms might be an issue. But, personally, I don't see a compelling argument for putting arbitrary dynamic data on an ActionForm. Any POJO would work as well. I could see a case for a Velocity-type Context that might include an ActionForm as a member, but I would not recommend trying to subvert ActionForms as a Velocity-type Context. If people want a Velocity-type Context, then let's do that, and put the ActionForm inside the page Context. -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
I've been starting to read up on Spring and I am sure it handles the same BOs in the view/model/dao tiers. -Original Message- From: Frank W. Zammetti [mailto:[EMAIL PROTECTED] Sent: 12 May 2005 15:34 To: Struts Users Mailing List Subject: Re: [POLL] What do you use action forms for? I've always felt the ActionForm had become something that wasn't originally intended... I personally use it as something that applies to a PAGE and not just a form, so it becomes an I/O object for me in the truest sense. I love the idea of something like a Velocity-type context. Before I came to Struts I was using a custom framework that was similar in that fashion, and went a step further in that there was a single WorkContext object that handled communication between ALL layers. I don't think that's the optimal solution now, but I think it was a step in the right direction... I toyed with implementing a true VTO/BTO pattern in Struts a while back, that is, a single VTO (View Transfer Object) that handled all values passed to and from the view, and the usual BTO or DTO (Business Transfer Object when discussed in the context of a VTO, or just the usual Data Transfer Object) to communicate between the controllers and the business delegates. Most people I think agree with the idea of a single object communicating between the control and the model, i.e., I don't see too many people saying we should have one object that goes TO a business delegate and one that comes FROM that delegate, i.e., two DTOs per model call, although I suppose there are some valid arguments for that. The point being, if you agree with that approach, I can't see NOT taking the same approach between the control and the view, and likewise, if you do see a two-object communication between control and model as better than you likely feel the same way about between view and control. -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com On Thu, May 12, 2005 10:20 am, Ted Husted said: On 5/12/05, Pedro Salgado [EMAIL PROTECTED] wrote: Well, your option 1) matched the #2 and 2) matched the #4 :) Pedro Salgado It might be helpfult to clarify whether by output we mean output that is being used within the html:form tags, or any arbitrary dynamic output. The intended use of the ActionForm is to represent the values of the controls *within* a form. In Struts 1.1, the scope crept so as to include, for example, lists used to populate controls. The cannonical role of the ActionForm is to represent what the user might input into the form, or to default input on behalf of the user (e.g, to edit values previously input.) I don't know if the latter case, providing default input values, counts as output in this thread. Plunking into an ActionForm something like a result list from a search query is an unintended use. The ActionForm was not designed as a Velocity context, but as a way of vetting input from forms. If people are putting result lists on ActionForms, that don't represent input values, then I can understand why multiple ActionForms might be an issue. But, personally, I don't see a compelling argument for putting arbitrary dynamic data on an ActionForm. Any POJO would work as well. I could see a case for a Velocity-type Context that might include an ActionForm as a member, but I would not recommend trying to subvert ActionForms as a Velocity-type Context. If people want a Velocity-type Context, then let's do that, and put the ActionForm inside the page Context. -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] FONT SIZE=1 FACE=VERDANA,ARIAL COLOR=BLUE --- QAS Ltd. Registered in England: No 2582055 Registered in Australia: No 082 851 474 --- /FONT - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
On 12/05/2005 16:34, Frank W. Zammetti [EMAIL PROTECTED] wrote: I've always felt the ActionForm had become something that wasn't originally intended... I personally use it as something that applies to a PAGE and not just a form, so it becomes an I/O object for me in the truest sense. So you mean, on your actionform you use: The html form attributes + (this is what I understand for input) The collections needed to present combo/list boxes (and other options) (this is what I understand for output) I don't think #2 is this one. This is #4. I love the idea of something like a Velocity-type context. Before I came to Struts I was using a custom framework that was similar in that fashion, and went a step further in that there was a single WorkContext object that handled communication between ALL layers. I don't think that's the optimal solution now, but I think it was a step in the right direction... This seems a little different approach I toyed with implementing a true VTO/BTO pattern in Struts a while back, that is, a single VTO (View Transfer Object) that handled all values passed to and from the view, and the usual BTO or DTO (Business Transfer Object when discussed in the context of a VTO, or just the usual Data Transfer Object) to communicate between the controllers and the business delegates. I do almost the same thing. (this seems #2) Use a ActionForms for retrieving only the HTML form data. The update of some data is a special case: - store the business object (only the bo id will not be enough... someone can override the form and set the property of the id) on a special attribute on the ActionForm and put the ActionForm with session scope This way I check for: - updating a bo with the same type and id? So I use only the actionform for: The html form attributes + (on updates) with one property to store the bo For the combo/list/etc I use a java bean stored on the request. So this approach is #2 +1 extra property. Just to finish I have to agree with Ted that clarify whether by output we mean output that is being used within the html:form tags, or any arbitrary dynamic output. and maybe this is the source of all problem. I read Chuck Cavaness book and (correct if I am wrong... it has been 2 years) he usually retrieved the BOs from the model/persistence layer and then created view objects (POJOs). I remind him mixing this data on an ActionForm. Pedro Salgado Most people I think agree with the idea of a single object communicating between the control and the model, i.e., I don't see too many people saying we should have one object that goes TO a business delegate and one that comes FROM that delegate, i.e., two DTOs per model call, although I suppose there are some valid arguments for that. The point being, if you agree with that approach, I can't see NOT taking the same approach between the control and the view, and likewise, if you do see a two-object communication between control and model as better than you likely feel the same way about between view and control. -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com On Thu, May 12, 2005 10:20 am, Ted Husted said: On 5/12/05, Pedro Salgado [EMAIL PROTECTED] wrote: Well, your option 1) matched the #2 and 2) matched the #4 :) Pedro Salgado It might be helpfult to clarify whether by output we mean output that is being used within the html:form tags, or any arbitrary dynamic output. The intended use of the ActionForm is to represent the values of the controls *within* a form. In Struts 1.1, the scope crept so as to include, for example, lists used to populate controls. The cannonical role of the ActionForm is to represent what the user might input into the form, or to default input on behalf of the user (e.g, to edit values previously input.) I don't know if the latter case, providing default input values, counts as output in this thread. Plunking into an ActionForm something like a result list from a search query is an unintended use. The ActionForm was not designed as a Velocity context, but as a way of vetting input from forms. If people are putting result lists on ActionForms, that don't represent input values, then I can understand why multiple ActionForms might be an issue. But, personally, I don't see a compelling argument for putting arbitrary dynamic data on an ActionForm. Any POJO would work as well. I could see a case for a Velocity-type Context that might include an ActionForm as a member, but I would not recommend trying to subvert ActionForms as a Velocity-type Context. If people want a Velocity-type Context, then let's do that, and put the ActionForm inside the page Context. -Ted. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#4 Same form for input and output Vincent -- Plato is my friend, Aristotle is my friend, but my greatest friend is truth. - Isaac Newton - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
On Thu, 2005-05-12 at 17:07 +0200, Pedro Salgado wrote: So you mean, on your actionform you use: The html form attributes + (this is what I understand for input) The collections needed to present combo/list boxes (and other options) (this is what I understand for output) I don't think #2 is this one. This is #4. Maybe we should define exactly what input and output is. Example: you have objects Book and Author. Each Book has a field author, which links to an Author object (Id, Name, FirstName, etc). Let us give the Book two properties, so its not that empty: Title and ISBN. Now you have a Book editing dialog, in this dialog you will have title and isbn rendered as input fields. and author rendered as select, with appropriate authorsCollection, filled with all available authors. So the Class BookForm has 4 attributes: String title, isbn, author; Collection authorsCollection; All 4 attributes are solely needed for input (as for now at least) and therefore the form is used as #2 scenario. On another page, which has nothing to do with the edit dialog you present a book previously searched by some criteria. If you are using scenario #4 you will reuse the BookForm here. The problem with this approach is, that you don't need the half of BookForm properties, what you need instead is: BookPresentationBean with String name, title, authorDescription: authorDescription is a field describing the Author object like: author.getLastName()+, +author.getFirstName() (or whatever your html demands) and is typically filled by the Action. As you see, you don't need the BookForm to present a Book, since you need other properties for presentation, as for editing. So if you are working with scenario #4 and reusing BookForm here, you are actually _misusing_ the BookForm. Further, it's a bad design approach, because, if you need to change the search result page and add or remove some properties (a book rating by other users etc), you are changing the edit dialog too, without actually knowing it (or exlicitely search, aehm, where do i use this form?). That's why I think, that scenario #4 is actually a bad choice, because it creates dependencies, which are very hard to manage (especially after some months). regards Leon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
You raise a good point, but I think there is something to be said for keeping class count down and keeping those UML diagrams less cluttered. It's a balancing act, that would be my contention. I never like saying one approach is bad or improper, because inevitably someone can come up with an example of a time it was the perfect answer. Best practices become best practices because they are recognized as being an optimal solution in *most* cases. That doesn't make a solution that isn't considered best practice wrong, it simply makes it not a best practice :) But if you are confronted with an application with 10 classes vs. one with 50, which will be more difficult to get your head around? It's not a straight-forward answer... those 10 classes might be monsters while the 50 may be 10 lines a piece, but on the other hand, grasping the relationship between 50 classes can be more difficult than 10, even if the 10 are much more complex. And which is easier to maintain? Balancing act. :) -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com On Thu, May 12, 2005 11:59 am, Leon Rosenberg said: On Thu, 2005-05-12 at 17:07 +0200, Pedro Salgado wrote: So you mean, on your actionform you use: The html form attributes + (this is what I understand for input) The collections needed to present combo/list boxes (and other options) (this is what I understand for output) I don't think #2 is this one. This is #4. Maybe we should define exactly what input and output is. Example: you have objects Book and Author. Each Book has a field author, which links to an Author object (Id, Name, FirstName, etc). Let us give the Book two properties, so its not that empty: Title and ISBN. Now you have a Book editing dialog, in this dialog you will have title and isbn rendered as input fields. and author rendered as select, with appropriate authorsCollection, filled with all available authors. So the Class BookForm has 4 attributes: String title, isbn, author; Collection authorsCollection; All 4 attributes are solely needed for input (as for now at least) and therefore the form is used as #2 scenario. On another page, which has nothing to do with the edit dialog you present a book previously searched by some criteria. If you are using scenario #4 you will reuse the BookForm here. The problem with this approach is, that you don't need the half of BookForm properties, what you need instead is: BookPresentationBean with String name, title, authorDescription: authorDescription is a field describing the Author object like: author.getLastName()+, +author.getFirstName() (or whatever your html demands) and is typically filled by the Action. As you see, you don't need the BookForm to present a Book, since you need other properties for presentation, as for editing. So if you are working with scenario #4 and reusing BookForm here, you are actually _misusing_ the BookForm. Further, it's a bad design approach, because, if you need to change the search result page and add or remove some properties (a book rating by other users etc), you are changing the edit dialog too, without actually knowing it (or exlicitely search, aehm, where do i use this form?). That's why I think, that scenario #4 is actually a bad choice, because it creates dependencies, which are very hard to manage (especially after some months). regards Leon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#2 only. Michael Jouravlev wrote the following on 5/11/2005 6:02 PM: What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Rick - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Whew! Thank you all for responses. I am sorry that I confuse some of you. Now I kind of got confused myself, because there are some usages I did not even thought of :) First, the things that I can state for sure. * I started to use Struts when I had rather vague knowledge about servlets/JSPs, so it was easier and simpler for me to understand the idea, that a form bean belongs to action, and if I want to obtain data or to dislpay data, I should put it in the bean. It seemed... observable. Putting it somewhere out of the form bean seemed like shooting it in the outer space :) Thus, I got used to #4. Then, when I felt that I had too much different data in one bean, I came up with #5. * Reloading a page in case of error by forwarding to input location does not mean that a form bean is used as output. Error handling is kind of special case, which allows to retain form values and redisplay them along with errors. But it is still an input form bean for me. * for me, using form bean as output means, that you do not stick your DTO or business delegate directly to request or session, but either put a reference to it in the form bean, or copy it field by field into the form bean. Then you display whatever is accessible from the form bean. For Input, I take the details in via a form, like most I assume; For Viewing/Editing or Amending I take a POJO from Hibernate and then using PropertyUtils copy the data from the POJO to the Form and then use the form to display as either text (for Viewing) or as objects (for Editing). This ensures that I do not have to cater for two types of object (POJO and Form) within the JSP; This is so different from what I do :) I use what is called BTO, I guess. I do not use plain DTOs, do not see point in them. I need not just data, but business rules as well available on web layer, so I use normal business objects to handle my input and output data. I do not really care is it viewing or editing or creating a new object. I just create a new business object (or load a copy of it from database) and stick it in the session. I can update it, no problem. Even if input data is wrong and object cannot be persisted, I still update it with input data, because it is a _copy_ or real persistent object. Then I either discard it or persist it. Viewing or editing mode is basically limited by JSP. I would think the essential question is whether people use ActionForms to 1) Harvest or populate only the default values of form controls. 2) Populate other page members, such as the items displayed on a drop-down lists. I used to use it for (2) as well. But now I store all my object data including lists in a single business object. And I usually have a reference to this business object from a form bean. Some of you needs a struts mentor ;-) You use display any bean or collection in struts, if it's RO, you don't use formBeans and you use JSTL/displaytag. If you edit, update, insert, etc, you have to use and map a form bean and html tag. I don't want to use two sets of tags. I know Struts tags and I use them. I do not use JSTL. Michael, is #4 clear?? I think people are misunderstanding it. Developers can use a form for input and output (#4/1), but not put display (pure output) data in there (#4/2). The difference is between an edit and view page. Um... I personally do not differentiate between edit and view model in the application. For me, this is just object. Whatever you can do with it, depends on particular JSP and its tags. So, for me edit and view is the same ;) Of course, I usually do not use HTML form for viewing, but I access my object in the same manner as for editing, that is, through the reference on a form bean. It just seems simple and more uniform to me. It might be helpfult to clarify whether by output we mean output that is being used within the html:form tags, or any arbitrary dynamic output. I thought, both. I do not know how to treat the border case, when you have all your data in business object or DTO, but have a reference to this object on a form bean, thus using nested properties. I consider this as using form bean for output as well. I usually use this approach. This is my point too. I think the majority of people answered #4 because data within html:form tags is I/O, but it's not the type of output (i.e., arbitrary display output) I think Michael was trying to convey. If you can access the object, that you display on the result page, from the form bean either as a simple property or as a nested property, this is still using form bean for output for me. I do not care is it in the form or not ;) Most people I think agree with the idea of a single object communicating between the control and the model, i.e., I don't see too many people saying we should have one object that goes TO a business delegate and one that comes FROM that delegate, i.e., two DTOs per model call, although I suppose there are some valid arguments
Re: [POLL] What do you use action forms for?
But #5 is better in this regard, is not it? ;) Do you think #5 is worse than #2? On 5/12/05, Leon Rosenberg [EMAIL PROTECTED] wrote: As you see, you don't need the BookForm to present a Book, since you need other properties for presentation, as for editing. So if you are working with scenario #4 and reusing BookForm here, you are actually _misusing_ the BookForm. Further, it's a bad design approach, because, if you need to change the search result page and add or remove some properties (a book rating by other users etc), you are changing the edit dialog too, without actually knowing it (or exlicitely search, aehm, where do i use this form?). That's why I think, that scenario #4 is actually a bad choice, because it creates dependencies, which are very hard to manage (especially after some months). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Oops, I don't know why did I mention going back again. I guess, I am too fixated on that. I am sorry. Anyway, just to reiterate, I have a current object in the session. Current means currenty being used whatever that means for you. Object has an ID. I pass this ID to any action which uses this object. It can be edit action, or view action or delete action or store action. Returning to the book example. I don't know what the authors list for :) But whatever, I would have two objects: book itself and authors list. For the first page I would have two references in the form bean: to book object and to authors collection. When I select author from a collection, its name would go to the book object. So, book is a current object. I can edit it, view it, persist it, delete it. It sits in the session, updated. If I want to display a book on the next page, I just show the book, which already has author in it. If I want to edit it, I show it on edit page, and load the author collection again. And, returning to my object of fixation: if I go back to the book edit page, the book will have author preset, simply because I display the object's fields, not because I take efforts to prepopulate form's fields. Right, this is another thing that I do not do: I do not prepopulate form bean's fields. On 5/12/05, Michael Jouravlev [EMAIL PROTECTED] wrote: Summing all up, I can describe the approach I use: ...deleted... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Well the question was, why to use ActionForm if a POJO will do it es well? And keeping current object in session isn't a solution to all problems... Just to give you an example, in our current application we have about 5000-7000 active session on each webserver. We have tons of object, so if we would keep _EVERYTHING_ in session, what amount of ram the server would need? Regards Leon -Ursprüngliche Nachricht- Von: Michael Jouravlev [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 12. Mai 2005 19:20 An: Struts Users Mailing List Betreff: Re: [POLL] What do you use action forms for? Oops, I don't know why did I mention going back again. I guess, I am too fixated on that. I am sorry. Anyway, just to reiterate, I have a current object in the session. Current means currenty being used whatever that means for you. Object has an ID. I pass this ID to any action which uses this object. It can be edit action, or view action or delete action or store action. Returning to the book example. I don't know what the authors list for :) But whatever, I would have two objects: book itself and authors list. For the first page I would have two references in the form bean: to book object and to authors collection. When I select author from a collection, its name would go to the book object. So, book is a current object. I can edit it, view it, persist it, delete it. It sits in the session, updated. If I want to display a book on the next page, I just show the book, which already has author in it. If I want to edit it, I show it on edit page, and load the author collection again. And, returning to my object of fixation: if I go back to the book edit page, the book will have author preset, simply because I display the object's fields, not because I take efforts to prepopulate form's fields. Right, this is another thing that I do not do: I do not prepopulate form bean's fields. On 5/12/05, Michael Jouravlev [EMAIL PROTECTED] wrote: Summing all up, I can describe the approach I use: ...deleted... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Well the question was, why to use ActionForm if a POJO will do it es well? And keeping current object in session isn't a solution to all problems... Just to give you an example, in our current application we have about 5000-7000 active session on each webserver. We have tons of object, so if we would keep _EVERYTHING_ in session, what amount of ram the server would need? Regards Leon -Ursprüngliche Nachricht- Von: Michael Jouravlev [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 12. Mai 2005 19:20 An: Struts Users Mailing List Betreff: Re: [POLL] What do you use action forms for? Oops, I don't know why did I mention going back again. I guess, I am too fixated on that. I am sorry. Anyway, just to reiterate, I have a current object in the session. Current means currenty being used whatever that means for you. Object has an ID. I pass this ID to any action which uses this object. It can be edit action, or view action or delete action or store action. Returning to the book example. I don't know what the authors list for :) But whatever, I would have two objects: book itself and authors list. For the first page I would have two references in the form bean: to book object and to authors collection. When I select author from a collection, its name would go to the book object. So, book is a current object. I can edit it, view it, persist it, delete it. It sits in the session, updated. If I want to display a book on the next page, I just show the book, which already has author in it. If I want to edit it, I show it on edit page, and load the author collection again. And, returning to my object of fixation: if I go back to the book edit page, the book will have author preset, simply because I display the object's fields, not because I take efforts to prepopulate form's fields. Right, this is another thing that I do not do: I do not prepopulate form bean's fields. On 5/12/05, Michael Jouravlev [EMAIL PROTECTED] wrote: Summing all up, I can describe the approach I use: ...deleted... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
Leon, My biggest problem with session based forms is that, without a special mechanism, it prevents multiple instances of a form from being edited at once within a session. Am I the only one with this concern? ;-) Paul -Original Message- From: Leon Rosenberg [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 3:20 PM To: 'Struts Users Mailing List'; 'Michael Jouravlev' Subject: Re: [POLL] What do you use action forms for? Well the question was, why to use ActionForm if a POJO will do it es well? And keeping current object in session isn't a solution to all problems... Just to give you an example, in our current application we have about 5000-7000 active session on each webserver. We have tons of object, so if we would keep _EVERYTHING_ in session, what amount of ram the server would need? Regards Leon -Ursprüngliche Nachricht- Von: Michael Jouravlev [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 12. Mai 2005 19:20 An: Struts Users Mailing List Betreff: Re: [POLL] What do you use action forms for? Oops, I don't know why did I mention going back again. I guess, I am too fixated on that. I am sorry. Anyway, just to reiterate, I have a current object in the session. Current means currenty being used whatever that means for you. Object has an ID. I pass this ID to any action which uses this object. It can be edit action, or view action or delete action or store action. Returning to the book example. I don't know what the authors list for :) But whatever, I would have two objects: book itself and authors list. For the first page I would have two references in the form bean: to book object and to authors collection. When I select author from a collection, its name would go to the book object. So, book is a current object. I can edit it, view it, persist it, delete it. It sits in the session, updated. If I want to display a book on the next page, I just show the book, which already has author in it. If I want to edit it, I show it on edit page, and load the author collection again. And, returning to my object of fixation: if I go back to the book edit page, the book will have author preset, simply because I display the object's fields, not because I take efforts to prepopulate form's fields. Right, this is another thing that I do not do: I do not prepopulate form bean's fields. On 5/12/05, Michael Jouravlev [EMAIL PROTECTED] wrote: Summing all up, I can describe the approach I use: ...deleted... - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Notice: This e-mail message, together with any attachments, contains information of Merck Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp Dohme or MSD and in Japan, as Banyu) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Benedict, Paul C wrote the following on 5/12/2005 3:25 PM: My biggest problem with session based forms is that, without a special mechanism, it prevents multiple instances of a form from being edited at once within a session. Not really, because I can just call form.reset() (or assign the formBean instance to brand new ActionForm) in the Action that I go to before I forward on to capture the user input. -- Rick - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [POLL] What do you use action forms for?
Rick, what do you mean? It sounds like you have an answer. -Original Message- From: Rick Reumann [mailto:[EMAIL PROTECTED] Sent: Thursday, May 12, 2005 3:38 PM To: Struts Users Mailing List Subject: Re: [POLL] What do you use action forms for? Benedict, Paul C wrote the following on 5/12/2005 3:25 PM: My biggest problem with session based forms is that, without a special mechanism, it prevents multiple instances of a form from being edited at once within a session. Not really, because I can just call form.reset() (or assign the formBean instance to brand new ActionForm) in the Action that I go to before I forward on to capture the user input. -- Rick -- Notice: This e-mail message, together with any attachments, contains information of Merck Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates (which may be known outside the United States as Merck Frosst, Merck Sharp Dohme or MSD and in Japan, as Banyu) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
On 5/12/05, Leon Rosenberg [EMAIL PROTECTED] wrote: Well the question was, why to use ActionForm if a POJO will do it es well? Umm... No reason, unless one wants to use same ActionForm for input, edit, view, etc. And keeping current object in session isn't a solution to all problems... Just to give you an example, in our current application we have about 5000-7000 active session on each webserver. We have tons of object, so if we would keep _EVERYTHING_ in session, what amount of ram the server would need? With 10K per session that would be 70 Megs. Not much. Also, I store only one object per session, this is why it is current. But I do not have to deal with 7000 sessions simultaneously :) On the other hand, you need to keep request data somewhere as well. It is the same RAM. Ok, request is cleaned automatically, session is not. To help with that, I have certain modes/pages, which invalidate session. Like, if I load item list, I invalidate current item. That is, I remove it from the session. I do not think that all users look at the item, and then leave the site. They might go to the list, and then leave the site ;) Also, session timeout can be adjusted. I am not saying here that my approach is the best. But I do not think that it is a bad practice either :) Michael. P.S. If a problem can be solved by adding more RAM, it is not a real problem ;) This is what Microsoft keeps proving with Windows: 640K, 1M, 4M, 16M, 64M... But people still use it, they just put more memory in their machines. Someone can still advertise OS which fits on one floppy and has full-blown GUI, multitasking, etc. But who cares, if polishing assembly code takes so much more than simply using VB? Don't want to start a flame. Just an opinion. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Michael Jouravlev wrote: P.S. If a problem can be solved by adding more RAM, it is not a real problem ;) This is what Microsoft keeps proving with Windows: 640K, 1M, 4M, 16M, 64M... But people still use it, they just put more memory in their machines. Someone can still advertise OS which fits on one floppy and has full-blown GUI, multitasking, etc. But who cares, if polishing assembly code takes so much more than simply using VB? OS-9, QNX. Not quite a floppy (any more), but pretty small for the power :) I still remember running OS-9 on a Tandy CoCo and running rings around anything else at the time with a substantially lower-power CPU at a lower clock rate and having substantially better multitasking. Of course, rapidly inserting/removing RAM cartridges to implement the virtual memory kinda sucked. Dave - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
70mb might not be much on a single server, but move to a clustered environment and you might be in for some rude surprises... Remember replication across the cluster... while 10k per session might not be much, 5000-7000 sessions constantly replicating 10k across the cluster could become an issue in the aggregate. -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com On Thu, May 12, 2005 3:43 pm, Michael Jouravlev said: On 5/12/05, Leon Rosenberg [EMAIL PROTECTED] wrote: Well the question was, why to use ActionForm if a POJO will do it es well? Umm... No reason, unless one wants to use same ActionForm for input, edit, view, etc. And keeping current object in session isn't a solution to all problems... Just to give you an example, in our current application we have about 5000-7000 active session on each webserver. We have tons of object, so if we would keep _EVERYTHING_ in session, what amount of ram the server would need? With 10K per session that would be 70 Megs. Not much. Also, I store only one object per session, this is why it is current. But I do not have to deal with 7000 sessions simultaneously :) On the other hand, you need to keep request data somewhere as well. It is the same RAM. Ok, request is cleaned automatically, session is not. To help with that, I have certain modes/pages, which invalidate session. Like, if I load item list, I invalidate current item. That is, I remove it from the session. I do not think that all users look at the item, and then leave the site. They might go to the list, and then leave the site ;) Also, session timeout can be adjusted. I am not saying here that my approach is the best. But I do not think that it is a bad practice either :) Michael. P.S. If a problem can be solved by adding more RAM, it is not a real problem ;) This is what Microsoft keeps proving with Windows: 640K, 1M, 4M, 16M, 64M... But people still use it, they just put more memory in their machines. Someone can still advertise OS which fits on one floppy and has full-blown GUI, multitasking, etc. But who cares, if polishing assembly code takes so much more than simply using VB? Don't want to start a flame. Just an opinion. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Maybe I'm repeating myself, but I give myself a last try :-) -Ursprüngliche Nachricht- Von: Michael Jouravlev [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 12. Mai 2005 21:43 An: Struts Users Mailing List Betreff: Re: [POLL] What do you use action forms for? On 5/12/05, Leon Rosenberg [EMAIL PROTECTED] wrote: Well the question was, why to use ActionForm if a POJO will do it es well? Umm... No reason, unless one wants to use same ActionForm for input, edit, view, etc. Well I'm a beliefer of design by responsibility. When I design an application I identify responsibilities to form and define components, modules and layers. Therefore I like each class to have a clear contract. As Frank said it may be a balancing act, but experience teached me, that it's better to have 50 small classes with clearly defined contracts then 10 butterflies. I don't like to create unnecessary dependencies, if I have to change a page, I change the action which prepares the page, the bean, which is used in this page and the jsp. I don't want to care about, where do I use this bean either. And keeping current object in session isn't a solution to all problems... Just to give you an example, in our current application we have about 5000-7000 active session on each webserver. We have tons of object, so if we would keep _EVERYTHING_ in session, what amount of ram the server would need? With 10K per session that would be 70 Megs. Not much. Also, I store only one object per session, this is why it is current. But I do not have to deal with 7000 sessions simultaneously :) On the other hand, you need to keep request data somewhere as well. It is the same RAM. Ok, request is cleaned automatically, session is not. To help with that, I have certain modes/pages, which invalidate session. Like, if I load item list, I invalidate current item. That is, I remove it from the session. I do not think that all users look at the item, and then leave the site. They might go to the list, and then leave the site ;) Also, session timeout can be adjusted. Well it maybe get too detailed, but if you keep objects in sessions instead of request you are actually working against the garbage collector. Objects in request are freed as soon, as the request is served. Since most application has less use cases then requests, the chances aren't bad, that similar request (request to same action) will come in shortly. With the modern garbage collector, the vm can 'reuse' the object scheduled to collection without actually manipulating the heap. At least in theorie you can reduce the effort for proper garbage collection run to a minimum. If objects are stored in sessions on the other hand, this process becomes more asynchronous, and you can't use natural dynamics of user's behaviour to your advantage. Other, very powerful anti-session-argument is concurrency. If your session object actually represent a business data object, which is managed by some business logic components or stored in the db (or both) you have to watch for changes done by other users/actors. This mean that you actually have to notify the webservers about any changes to the objects (or implement very complicated locking mechanism), so they can clean their session-object-cache. It's just an additional effort, and it's often faster and easier to get a new copy of the object on request, as to maintain and synchronize that kind of cache. I am not saying here that my approach is the best. But I do not think that it is a bad practice either :) No we just discussing it, and it is surely suitable for some applications, but it also brings enough problems to keep it off the best practices in my opinion :-))) Regards Leon Michael. P.S. If a problem can be solved by adding more RAM, it is not a real problem ;) This is what Microsoft keeps proving with Windows: 640K, 1M, 4M, 16M, 64M... But people still use it, they just put more memory in their machines. Someone can still advertise OS which fits on one floppy and has full-blown GUI, multitasking, etc. But who cares, if polishing assembly code takes so much more than simply using VB? I'm using a linux software router at home, which fits on a floppy. The advantage is, that it's booting fast and is copy-protected, so noone can modify my configs for longer then reboot time. But it's very offtopic now :-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Maybe I'm repeating myself, but I give myself a last try :-) -Ursprüngliche Nachricht- Von: Michael Jouravlev [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 12. Mai 2005 21:43 An: Struts Users Mailing List Betreff: Re: [POLL] What do you use action forms for? On 5/12/05, Leon Rosenberg [EMAIL PROTECTED] wrote: Well the question was, why to use ActionForm if a POJO will do it es well? Umm... No reason, unless one wants to use same ActionForm for input, edit, view, etc. Well I'm a beliefer of design by responsibility. When I design an application I identify responsibilities to form and define components, modules and layers. Therefore I like each class to have a clear contract. As Frank said it may be a balancing act, but experience teached me, that it's better to have 50 small classes with clearly defined contracts then 10 butterflies. I don't like to create unnecessary dependencies, if I have to change a page, I change the action which prepares the page, the bean, which is used in this page and the jsp. I don't want to care about, where do I use this bean either. And keeping current object in session isn't a solution to all problems... Just to give you an example, in our current application we have about 5000-7000 active session on each webserver. We have tons of object, so if we would keep _EVERYTHING_ in session, what amount of ram the server would need? With 10K per session that would be 70 Megs. Not much. Also, I store only one object per session, this is why it is current. But I do not have to deal with 7000 sessions simultaneously :) On the other hand, you need to keep request data somewhere as well. It is the same RAM. Ok, request is cleaned automatically, session is not. To help with that, I have certain modes/pages, which invalidate session. Like, if I load item list, I invalidate current item. That is, I remove it from the session. I do not think that all users look at the item, and then leave the site. They might go to the list, and then leave the site ;) Also, session timeout can be adjusted. Well it maybe get too detailed, but if you keep objects in sessions instead of request you are actually working against the garbage collector. Objects in request are freed as soon, as the request is served. Since most application has less use cases then requests, the chances aren't bad, that similar request (request to same action) will come in shortly. With the modern garbage collector, the vm can 'reuse' the object scheduled to collection without actually manipulating the heap. At least in theorie you can reduce the effort for proper garbage collection run to a minimum. If objects are stored in sessions on the other hand, this process becomes more asynchronous, and you can't use natural dynamics of user's behaviour to your advantage. Other, very powerful anti-session-argument is concurrency. If your session object actually represent a business data object, which is managed by some business logic components or stored in the db (or both) you have to watch for changes done by other users/actors. This mean that you actually have to notify the webservers about any changes to the objects (or implement very complicated locking mechanism), so they can clean their session-object-cache. It's just an additional effort, and it's often faster and easier to get a new copy of the object on request, as to maintain and synchronize that kind of cache. I am not saying here that my approach is the best. But I do not think that it is a bad practice either :) No we just discussing it, and it is surely suitable for some applications, but it also brings enough problems to keep it off the best practices in my opinion :-))) Regards Leon Michael. P.S. If a problem can be solved by adding more RAM, it is not a real problem ;) This is what Microsoft keeps proving with Windows: 640K, 1M, 4M, 16M, 64M... But people still use it, they just put more memory in their machines. Someone can still advertise OS which fits on one floppy and has full-blown GUI, multitasking, etc. But who cares, if polishing assembly code takes so much more than simply using VB? I'm using a linux software router at home, which fits on a floppy. The advantage is, that it's booting fast and is copy-protected, so noone can modify my configs for longer then reboot time. But it's very offtopic now :-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
On 5/12/05, Leon Rosenberg [EMAIL PROTECTED] wrote: Maybe I'm repeating myself, but I give myself a last try :-) I'm a beliefer of design by responsibility. When I design an application I identify responsibilities to form and define components, modules and layers. Therefore I like each class to have a clear contract. Ok, I will try for the last time too :) You design your app based on how well the modules designed, how fast is it, how efficient, etc. Where is the customer in this scheme? What about usability? I base my design on usability. Then I think about nice and observable module interaction, and only then I care about memory consumption. As long as we build webapps based on current HTTP standard, we need to take the quirks of this standard into consideration. We need to make user's life easier, and to allow him to make mistakes, to click wrong buttons, to wander around and then return to same page... We should allow more freedom to a user. In the end, we build applications for the user. If splitting one request into two is beneficial for usability, I will do it. And I will handle the consequences. Because usability first, simplicity of programming is second. Well it maybe get too detailed, but if you keep objects in sessions instead of request you are actually working against the garbage collector. This is a matter of implementation. I don't consider inner workings of garbage collector as a major factor when I design my application. Well, HTTP request/response cycle is a matter of implementation too. But in this case it directly affects usability. HTTP is not going away tomorrow, so I prefer to work around HTTP instead of caring about memory usage. Other, very powerful anti-session-argument is concurrency. If your session object actually represent a business data object, which is managed by some business logic components or stored in the db (or both) you have to watch for changes done by other users/actors. This mean that you actually have to notify the webservers about any changes to the objects This is not an anti-session argument, this is argument against optimistic concurrency model and offline editing. This is not really different, when request is used. Say, you edit an existing object. You load object from database and show the edit form. A user takes her time painting the nails, and then in 10 minutes submits the data. The object was not sitting in the session for 10 minutes, so you saved here, I agree. But if someone else already have changed it, you won't be able to save it, just like if it were in session, no difference. I guess we should stop arguing ;-) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
I updated the online poll with information from the mailing list. I tried my best to recognize your choices when they were not clear ;) Anyway, after 53 emails and about 15 direct online votes the grand total looks like this: http://jmikus.freepolls.com/cgi-bin/pollresults/001 #1 -- 5 #2 -- 10 #3 -- 0 #4 -- 29 #5 -- 3 Total: 47 votes so far Whatever you guys understand by output data, but 62% of you stick it in the same form, as input data ;-) Polling location is here: http://jmikus.freepolls.com/cgi-bin/polls/001/poll_center.htm Early votes, late votes, provisional votes, multiple candidates, all are welcome ;-)) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#2 :) #1 if possible too (means, if I'm too lazy to go for number 2) -Ursprüngliche Nachricht- Von: Michael Jouravlev [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 12. Mai 2005 00:03 An: Struts Users Mailing List Betreff: [POLL] What do you use action forms for? Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#2 :) #1 if possible too (means, if I'm too lazy to go for number 2) -Ursprüngliche Nachricht- Von: Michael Jouravlev [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 12. Mai 2005 00:03 An: Struts Users Mailing List Betreff: [POLL] What do you use action forms for? Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#4 So (out of interest) how are you using action forms? Jonathan Wright - Original Message - From: Matt Raible [EMAIL PROTECTED] To: Struts Users Mailing List user@struts.apache.org Sent: Thursday, May 12, 2005 10:06 AM Subject: Re: [POLL] What do you use action forms for? #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt On May 11, 2005, at 4:02 PM, Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#4 The same action form for both input and output. On 5/11/05, Michael Jouravlev [EMAIL PROTECTED] wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#4 and #5 #4 So (out of interest) how are you using action forms? What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
A related question I've wondered about is whether to store everything a JSP page needs in the ActionForm. When I first learned Struts, that seemed like a smart idea -- everything that a page needed was stored in the one object. Obviously some of the fields would be nested objects. Now it seems to me that the only real advantage of ActionForms is that they auto-populate to and from HTML FORMs, so I only use them for that. Information that is just to be displayed on a page is stored in a scope -- request most likely. Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Neil Erdwien, [EMAIL PROTECTED], Web Technologies Manager Computing and Network Services, Kansas State University - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
Ok Matt, so you still use them, even though you do not create them ;-) And what do you use those generated forms for? #1 means that people read input data right from the request, and stick output data in some bean of theirs, which is not an action form. On 5/11/05, Matt Raible [EMAIL PROTECTED] wrote: #1 - so I generate them from my POJOs using XDoclet. All the other frameworks I use (JSF, Spring, Tapestry and WebWork) allow me to use my POJOs directly. Matt What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
#4 Michael Jouravlev wrote: Turns out, that my way of using action forms differs from many other Struts users' habits. So, I am wondering how do you use action forms. I could not find the same poll in mailing list archives, so I am starting this one. You can answer here in the thread, or in the poll form, which I created on my site: http://www.superinterface.com/projects.htm But don't answer in both places ;) I wish wiki had a way to do polls. What is your preferred way to use action forms? #1 Prefer not to use action forms at all #2 For input data only (usually collected from HTML form) #3 For output only (to be used in JSP) #4 Same form for input and output #5 One form for input, another for output #6 Other Thanks, Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [POLL] What do you use action forms for?
By the way, hopefully by input and output data we understand the same information. For example, this wiki page http://wiki.apache.org/struts/StrutsMultipleActionForms treats data from a page point of view: Most pages have both input data (setup) and output data (request name/value pairs). That means, that input (setup) data is used to build the page, and output data is sent from the page. I just noticed that ;) I treat data from action's point of view. Thus, input data is sent from the browser to the action, and output data generated by action and sent to the page. Michael. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]