Rather than answer you here, I've set up a wiki page showing three different options for "lazy list" type behaviour
http://wiki.apache.org/struts/StrutsCatalogLazyList I understand you wanting to only use "released" stuff - actually if you look at LazyValidatorForm, theres not much too it - most of what it uses is either already in Struts (it extends BeanValidatorForm) and Commons BeanUtils (LazyDynaBean) - creating your own lazy ActionForm wouldn't take much. In fact you can even use a LazyDynaBean directly in the struts-config.xml as your ActionForm in Struts 1.2.4 Niall ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, September 30, 2004 6:54 PM Subject: Re: How to handle multiploe unknown form fields > I understand the JSP side of this eqation as you wrote it, although I should have said I was looking for a solution that doesn't use Struts taglibs because I try to avoid them at all costs, but that aside... > > I'm still unclear however on what the ActionForm does... Using this concept, do I HAVE to use the LazyActionForm you wrote? I'd prefer to only use things that are built-in to Struts, and unless I'm missing it in the docs, that's not. > > The question I'm getting at is that, like I said, the JSP code you wrote makes sense, but what will put the submitted parameters into the collection in the ActionForm when the submission happens? That's the part I don't see. Thanks for your help! > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > > On Thu, September 30, 2004 1:51 pm, Niall Pemberton said: > > You simply need a property in your ActionForm that returns a collection of > > "skill" beans and used the "indexed" attribute on the <html> tags. The > > "isssue" that most people have problems with is when using a "Request" > > scope > > ActionForm you need to populate your collection with the right number of > > skill beans - the way to handle this is some kind of "lazy list" > > processing > > for that property. Search the archives on indexed properties and lazy list > > processing. > > > > In your jsp... > > > > <logic:iterate name="skillsForm" property="skills" id="skills"> > > <html:text name="skills" property="skillid" indexed="true"/> > > <html:select name="skills" property="skillLevel" indexed="true"> > > <html:option value="1">Low</html:option> > > <html:option value="2">Medium</html:option> > > <html:option value="3">High</html:option> > > </html:select> > > </logic:iterate> > > > > The trick is to name the "id" attribute to the same as the property in the > > form which returns the collection, that way Struts will generate something > > like: > > > > <input type="text" name="skills[x].skillid value=".."/> > > > > > > The lazy ActionForms I wrote have the lazy list behaviour built in.... > > > > http://www.niallp.pwp.blueyonder.co.uk/#lazydynabean > > > > Niall > > > > > > ----- Original Message ----- > > From: <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Thursday, September 30, 2004 6:19 PM > > Subject: How to handle multiploe unknown form fields > > > > > >> I have an interesting situation, one that has never come up before, and > > I'm unsure how to deal with it... > >> > >> Imagine you have some records from a database representing various > >> skills > > (i.e., HTML, Javascript, J2EE, etc.). Each has a SkillID associated with > > it. > >> > >> You create a JSP that lists each skill with a drop-down next to it. The > > drop-down allows the user to select their skill level for each skill. > >> > >> When the user hits Save, you need to update all the skills for that > >> user. > >> > >> That's the scenario. Here's the question... Each drop-down is given the > > name of the SkllID. But how do you write an ActionForm for that? > >> > >> Since the database can be expanded to include new skills at any time, > >> it's > > impractical to add getters and setters for each SkillID, and in fact > > breaks > > low coupling goals anyway. > >> > >> Is there a standard way of accepting what kind of amounts to an array of > > inputs from a form and getting it into an ActionForm in some way (maybe as > > an ArrayList or something?). > >> > >> TIA! > > > > > > > > --------------------------------------------------------------------- > > 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]