Niall Pemberton wrote:
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]
-- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]