Author Login
Post Reply
user Digest 24 Mar 2008 15:54:53 -0000 Issue 7941
Topics (messages 184539 through 184553):
Re: Running a prepare method before the assigned action method
184539 by: Dave Newton
184540 by: meeboo
184541 by: Dave Newton
184542 by: meeboo
Re: struts 2 jsf plugin problem
184543 by: Daniel
184551 by: Randy Burgess
Multiple Select
184544 by: Thangalin
Re: use continue in <s:iterator>
184545 by: Laurie Harper
184546 by: Laurie Harper
Re: Any issues using latest Dojo with Struts2?
184547 by: Karr, David
Key property
184548 by: Emil.I
184549 by: stanlick.gmail.com
sugestion, reusing actions in different contexts
184550 by: Mihai Scripca
Re: Using Javascript to change struts-generated forms
184552 by: Allen, Daniel
184553 by: Dave Newton
Administrivia:
---------------------------------------------------------------------
To post to the list, e-mail: user@(protected)
To unsubscribe, e-mail: user-digest-unsubscribe@(protected)
For additional commands, e-mail: user-digest-help@(protected)
----------------------------------------------------------------------

Attachment:
user_184539.ezm (zipped)--- meeboo <deepstar@(protected):
> I have a class for several actions and each action is mapped to a method,
> like this:
>
> <action name="update/modelObject"
> class="net.myapp.web.modelObjectActions"
> method="update">
> <result>/index.jsp</result>
> </action>
>
> The above action will fire when a form is submitted and the modelObject
> properties are populated via the form fields. Now that I want is to invoke
> a
> prepare method before the update method so that I first can read the model
> object from the database and then populate its fields. I did implement
> preparable in modelObjectActions but then the prepare method will be
> invoked
> before all actions in that class, I want it to be invoked just for this
> specific action.
>
> Any ideas?
prepareUpdate.
http://struts.apache.org/2.x/docs/prepare-interceptor.html
Dave

Attachment:
user_184540.ezm (zipped)
won't work with a wildcard parameter mapping Dave
<action name="update/modelObject/*"
class="net.myapp.web.ModelObjectActions"
method="update">
The parameter simply isn't parsed in the prepare method unless it's in the
form of update/modelObject.action?id=22
this is what I'm currently doing
update/modelObject/22.action
The parameter is parsed in the update method, but not in the prepare method
(i've tried using the
newton.dave wrote:
>
> --- meeboo <deepstar@(protected):
>> I have a class for several actions and each action is mapped to a method,
>> like this:
>>
>> <action name="update/modelObject"
>> class="net.myapp.web.modelObjectActions"
>> method="update">
>> <result>/index.jsp</result>
>> </action>
>>
>> The above action will fire when a form is submitted and the modelObject
>> properties are populated via the form fields. Now that I want is to
>> invoke
>> a
>> prepare method before the update method so that I first can read the
>> model
>> object from the database and then populate its fields. I did implement
>> preparable in modelObjectActions but then the prepare method will be
>> invoked
>> before all actions in that class, I want it to be invoked just for this
>> specific action.
>>
>> Any ideas?
>
> prepareUpdate.
>
> http://struts.apache.org/2.x/docs/prepare-interceptor.html
>
> Dave
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>
>
--
Sent from the Struts - User mailing list archive at Nabble.com.

Attachment:
user_184541.ezm (zipped)--- meeboo <deepstar@(protected):
> won't work with a wildcard parameter mapping Dave
>
> <action name="update/modelObject/*"
> class="net.myapp.web.ModelObjectActions"
> method="update">
Your first post didn't have a wildcard mapping.
> The parameter simply isn't parsed in the prepare method unless it's in the
> form of update/modelObject.action?id=22
Do you mean parsed by the parameter interceptor?
> this is what I'm currently doing
> update/modelObject/22.action
>
> The parameter is parsed in the update method, but not in the prepare method
Are you using the standard action mapper? Any plugins?
The mapping you posted in your follow-up message did not come through
properly; please make sure you're sending plain-text messages. This is what I
saw:
> <action name="update/user/*"
> class="net.myapp.web.UserActions">
> <interceptor-ref name="paramsPrepareParamsStack"/>
> {1}
> <result>/models/user/update.jsp</result>
> </action>
I don't really know what you're trying to do or how you're going about trying
to do it.
Dave

Attachment:
user_184542.ezm (zipped)
Hey again
I'm posting via nabble, and it seems to strip out my wildcards, basically my
action looks like this now
<action name="update/modelObject/*"
class="net.schemer.web.ObjectModelActions">
<interceptor-ref name="paramsPrepareParamsStack"/>
< param name= " id " > { 1 }
<result>/models/objectModel/update.jsp</result>
</action>
Hopefully this is viewable.
newton.dave wrote:
>
> --- meeboo <deepstar@(protected):
>> won't work with a wildcard parameter mapping Dave
>>
>> <action name="update/modelObject/*"
>> class="net.myapp.web.ModelObjectActions"
>> method="update">
>
> Your first post didn't have a wildcard mapping.
>
>> The parameter simply isn't parsed in the prepare method unless it's in
>> the
>> form of update/modelObject.action?id=22
>
> Do you mean parsed by the parameter interceptor?
>
>> this is what I'm currently doing
>> update/modelObject/22.action
>>
>> The parameter is parsed in the update method, but not in the prepare
>> method
>
> Are you using the standard action mapper? Any plugins?
>
> The mapping you posted in your follow-up message did not come through
> properly; please make sure you're sending plain-text messages. This is
> what I
> saw:
>
>> <action name="update/user/*"
>> class="net.myapp.web.UserActions">
>> <interceptor-ref name="paramsPrepareParamsStack"/>
>> {1}
>> <result>/models/user/update.jsp</result>
>> </action>
>
> I don't really know what you're trying to do or how you're going about
> trying
> to do it.
>
> Dave
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>
>
--
Sent from the Struts - User mailing list archive at Nabble.com.

Attachment:
user_184543.ezm (zipped)At first i have tried to make the portlet only with JSF. Unfortunately
Weblogic has some problems , many problems, it's the first time when i use
weblogic and it's not worthing it's money. After i failed making the portlet
with pure JSF i said to make a try with struts 2 and jsf plugin. Using this
method i have reached far than using pure JSF. I will try more to see if
there is any hope with this solution.
On Fri, Mar 21, 2008 at 5:55 PM, Nils-Helge Garli Hegvik <nilsga@(protected)>
wrote:
> Sorry, no clue. As I said, I have no idea if this combination will
> work at all. Maybe someone with JSF experience can point out what's
> wrong. At least it looks like the portlet dispatcher has been able to
> execute the action, but it's failing with the JSF result.
>
> You might want to consider creating your portlet with either JSF or
> Struts 2 instead of combining them both.
>
> Nils-H
>
> On Fri, Mar 21, 2008 at 1:55 PM, Daniel <pdaniel2005@(protected):
> > I've done what you have said, unfortunately without results. I still
> > receive index.jsp:16:26: No property editor found for the bean "
> >
javax.el.ValueExpression".
> >
> > Any other ideas?
> >
> >
> > On Thu, Mar 20, 2008 at 12:43 PM, Nils-Helge Garli Hegvik <
> nilsga@(protected)>
> > wrote:
> >
> >
> >
> > > First of all, I'm not even sure if it's possible to use the portlet
> > > and the jsf plugin at the same time. I have not tried, but there
> might
> > > be issues with it if they try to do conflicting things in the
> > > interceptors and the results.
> > >
> > > > struts.xml
> > > >
> > > > <package name="default" extends="portlet-jsf-default"
> > > namespace="/view">
> > > >
> > > > <action name="index" class="com.mycompany.HelloAction">
> > > > <interceptor-ref name="basicStack"/>
> > > > <interceptor-ref name="jsfStack"/>
> > > > <result name="success" type="jsf"/>
> > > > <result>/WEB-INF/jsp/view/index.jsp</result>
> > > > </action>
> > > > </package>
> > > >
> > >
> > > A couple of things here. You're extending portlet-jsf-default, which
> > > still has the jsfStack as the default interceptor ref. Since you have
> > > defined a "jsf" package that extends "portlet-jsf-default", you
> should
> > > probably extend the "jsf" package instead. However, it's probably
> just
> > > as easy configuring the correct interceptor stack and default
> > > interceptor ref right there in the "portlet-jsf-default" package. In
> > > addition, you're overriding the default interceptor stack in your
> > > action definition, so it's not really using the portletDefaultStack,
> > > even if you had configured your default interceptor stack correctly.
> > > Unless you need to use different interceptors in your action, there's
> > > no need configuring those interceptor-refs there.
> > >
> > > You could also try swapping the order of the portletDefaultStack and
> > > the jsfStack and see if that makes a difference.
> > >
> > > Nils-H
> > >
> >
> >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: user-unsubscribe@(protected)
> > > For additional commands, e-mail: user-help@(protected)
> > >
> > >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>

Attachment:
user_184551.ezm (zipped)I would take everything out of your JSF page and then start adding things in
one by one until you find what is causing the missing the property editor
error.
Regards,
Randy Burgess
Sr. Web Applications Developer
Nuvox Communications
> From: Daniel <pdaniel2005@(protected)>
> Reply-To: Struts Users Mailing List <user@(protected)>
> Date: Sat, 22 Mar 2008 22:53:09 +0200
> To: Struts Users Mailing List <user@(protected)>
> Subject: Re: struts 2 jsf plugin problem
>
> At first i have tried to make the portlet only with JSF. Unfortunately
> Weblogic has some problems , many problems, it's the first time when i use
> weblogic and it's not worthing it's money. After i failed making the portlet
> with pure JSF i said to make a try with struts 2 and jsf plugin. Using this
> method i have reached far than using pure JSF. I will try more to see if
> there is any hope with this solution.
>
> On Fri, Mar 21, 2008 at 5:55 PM, Nils-Helge Garli Hegvik <nilsga@(protected)>
> wrote:
>
>> Sorry, no clue. As I said, I have no idea if this combination will
>> work at all. Maybe someone with JSF experience can point out what's
>> wrong. At least it looks like the portlet dispatcher has been able to
>> execute the action, but it's failing with the JSF result.
>>
>> You might want to consider creating your portlet with either JSF or
>> Struts 2 instead of combining them both.
>>
>> Nils-H
>>
>> On Fri, Mar 21, 2008 at 1:55 PM, Daniel <pdaniel2005@(protected):
>>> I've done what you have said, unfortunately without results. I still
>>> receive index.jsp:16:26: No property editor found for the bean "
>>>
javax.el.ValueExpression".
>>>
>>> Any other ideas?
>>>
>>>
>>> On Thu, Mar 20, 2008 at 12:43 PM, Nils-Helge Garli Hegvik <
>> nilsga@(protected)>
>>> wrote:
>>>
>>>
>>>
>>>> First of all, I'm not even sure if it's possible to use the portlet
>>>> and the jsf plugin at the same time. I have not tried, but there
>> might
>>>> be issues with it if they try to do conflicting things in the
>>>> interceptors and the results.
>>>>
>>>>> struts.xml
>>>>>
>>>>> <package name="default" extends="portlet-jsf-default"
>>>> namespace="/view">
>>>>>
>>>>> <action name="index" class="com.mycompany.HelloAction">
>>>>> <interceptor-ref name="basicStack"/>
>>>>> <interceptor-ref name="jsfStack"/>
>>>>> <result name="success" type="jsf"/>
>>>>> <result>/WEB-INF/jsp/view/index.jsp</result>
>>>>> </action>
>>>>> </package>
>>>>>
>>>>
>>>> A couple of things here. You're extending portlet-jsf-default, which
>>>> still has the jsfStack as the default interceptor ref. Since you have
>>>> defined a "jsf" package that extends "portlet-jsf-default", you
>> should
>>>> probably extend the "jsf" package instead. However, it's probably
>> just
>>>> as easy configuring the correct interceptor stack and default
>>>> interceptor ref right there in the "portlet-jsf-default" package. In
>>>> addition, you're overriding the default interceptor stack in your
>>>> action definition, so it's not really using the portletDefaultStack,
>>>> even if you had configured your default interceptor stack correctly.
>>>> Unless you need to use different interceptors in your action, there's
>>>> no need configuring those interceptor-refs there.
>>>>
>>>> You could also try swapping the order of the portletDefaultStack and
>>>> the jsfStack and see if that makes a difference.
>>>>
>>>> Nils-H
>>>>
>>>
>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@(protected)
>>>> For additional commands, e-mail: user-help@(protected)
>>>>
>>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@(protected)
>> For additional commands, e-mail: user-help@(protected)
>>
>>
This email and any attachments ("Message") may contain legally privileged and/or confidential information. If you are not the addressee, or if this Message has been addressed to you in error, you are not authorized to read, copy, or distribute it, and we ask that you please delete it (including all copies) and notify the sender by return email. Delivery of this Message to any person other than the intended recipient(s) shall not be deemed a waiver of confidentiality and/or a privilege.

Attachment:
user_184544.ezm (zipped)Hi,
I have a rather complex form with an <html:select> that uses dynamically
generated <html:option> values. The problem is that the destination array,
upon posting, returns an array with zero length. I am using a DynaActionForm
in Struts 1.2 (version cannot change).
The code ...
=File: allocate-manual-filter.jsp=
=SOURCE CODE: BEGIN=
<html:form action="/allocate-manual-select" method="POST">
// ... code to create "select_name" ... followed by ...
<html:hidden property='<%= "display_" + select_name %>' value="<%=
display_name %>" />
<html:select property="<%= select_name %>" multiple="true" size="5"
styleClass="filter">
// ... code to get the PK value and populate the options array ... followed
by ...
<html:option value="<%= pk.toString() %>">
<%= options[ INDEX_DISPLAY_VALUE ] %>
</html:option>
</html:select>
</html:form>
=SOURCE CODE: ENDED=
=File: struts-config.xml=
=SOURCE CODE: BEGIN=
<form-bean
name="allocate-manual-select-form"
type="
org.apache.struts.action.DynaActionForm">
<form-property
name="display_fiscal_year"
type="
java.lang.String" />
<form-property
name="fiscal_year"
type="
java.lang.String[]" />
</form-bean>
=SOURCE CODE: ENDED=
=File: struts-config.xml=
=SOURCE CODE: BEGIN=
<action-mappings>
<action
path="/allocate-manual-select"
type="ca.bc.gov.mof.bcas.allocate.ManualSelectAction"
name="allocate-manual-select-form"
input="/WEB-INF/jsp/allocate-manual-filter.jsp"
scope="session"
validate="false">
<forward
name="success"
path="/WEB-INF/jsp/allocate-manual-select.jsp" />
</action>
</action-mappings>
=SOURCE CODE: ENDED=
=File: ManualSelectAction.java=
=SOURCE CODE: BEGIN=
public boolean execute( ... ) {
DynaActionForm dynaForm = (DynaActionForm)form;
String values[] = (String[])dynaForm.get( "fiscal_year" );
if( values != null ) {
System.out.println( "fiscal_year: " + values.length );
}
}
=SOURCE CODE: ENDED=
The log file shows the following:
fiscal_year: 0
display_fiscal_year: Fiscal Year
Everything is hooked up correctly, because display_fiscal_year is showing
the appropriate value. The former value is supposed to be an array of
strings with a size of 1 (for the one element I shuttle into it).
The ManualSelectAction class does not define a "fiscal_year" array of
Strings. This will be the next thing to try. (Although my impression was
that if I used a DynaActionForm, I wouldn't have to create a class that
contains variables ...?)
Aside from that, any other ideas?
--
Sent from the Struts - User mailing list archive at Nabble.com.

Attachment:
user_184545.ezm (zipped)Kibo wrote:
> Hi conference
>
> Can I use "continue" in struts tag <s:iterator> ?
> ----------------------------------------------------------
> from:
>
> for (Category cat : category){
>
> if (cat.getId() == 1)
> continue;
>
> System.out.println(cat.getName());
> }
> -----------------------------------------------------------------------------
> to:
>
> <s:iterator value="category" status="rowstatus" >
> <s:if test="id == 1"> ????????????? </s:if>
> <li><s:property value="name"/></li>
> </s:iterator>
> -------------------------------------------------
No, that's not supported. You'll need to filter the collection in advance.
L.

Attachment:
user_184546.ezm (zipped)Laurie Harper wrote:
> Kibo wrote:
>> Hi conference
>>
>> Can I use "continue" in struts tag <s:iterator> ?
>> ----------------------------------------------------------
>> from:
>>
>> for (Category cat : category){
>> if (cat.getId() == 1)
>> continue;
>>
>> System.out.println(cat.getName());
>> }
>> -----------------------------------------------------------------------------
>>
>> to:
>>
>> <s:iterator value="category" status="rowstatus" >
>> <s:if test="id == 1"> ?????????????
>> </s:if>
>> <li><s:property value="name"/></li>
>> </s:iterator>
>> -------------------------------------------------
>
> No, that's not supported. You'll need to filter the collection in advance.
... or invert the logic:
<s:iterator value="category" status="rowstatus" >
<s:if test="id != 1">
<li><s:property value="name"/></li>
</s:if>
</s:iterator>
L.

Attachment:
user_184547.ezm (zipped)After thinking about this some more, I guess the best answer is to avoid
it in the first place. Keep complex JavaScript in ".js" files. If the
JavaScript in your JSP is using a feature like this, it probably belongs
in a JS module.
> -----Original Message-----
> From: Dave Newton [mailto:newton.dave@(protected)]
> Sent: Thursday, March 20, 2008 5:04 PM
> To: Struts Users Mailing List
> Subject: RE: Any issues using latest Dojo with Struts2?
>
> Oh, the templates? Yeah, if you tried to use that notation on
> a JSP page it would cause a problem. I'd imagine escaping the
> $ would work, although I haven't tried it.
>
> Dave
>
> --- "Karr, David" <david.karr@(protected):
>
> > The following link into the "Dojo Book" has an example. There are
> > others throughout the book. The "${...}" is substituted on
> the CLIENT
> > side.
> >
> > http://dojotoolkit.org/node/3161
> >
> > > -----Original Message-----
> > > From: Dave Newton [mailto:newton.dave@(protected)]
> > > Sent: Thursday, March 20, 2008 1:41 PM
> > > To: Struts Users Mailing List
> > > Subject: Re: Any issues using latest Dojo with Struts2?
> > >
> > > --- "Karr, David" <david.karr@(protected):
> > > > Isn't it the case that Struts2 integrates Dojo, but a version
> > > > older than the latest Dojo version?
> > >
> > > Yes.
> > >
> > > > Should I expect any difficulties if I try to use the latest
> > > Dojo in a
> > > > Struts2 application?
> > >
> > > Not if you're not trying to combine the two versions; you can use
> > > "naked"
> > > Dojo in an S2 app just like you would in any other framework.
> > >
> > > > I also see that Dojo uses "${...}" references for variable
> > > substitution.
> > > > Will that cause problems if this code is in a JSP?
> > >
> > > I'm not sure what you mean there; do you have a link to
> what you're
> > > referring to?
> > >
> > > Dave
> > >
> > >
> > >
> --------------------------------------------------------------------
> > > - To unsubscribe, e-mail: user-unsubscribe@(protected)
> > > For additional commands, e-mail: user-help@(protected)
> > >
> > >
> > >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@(protected)
> > For additional commands, e-mail: user-help@(protected)
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>
>

Attachment:
user_184548.ezm (zipped)
Hello,
i iterate through a set and for 'key' i want to use the property of an
iterable element. eg:
<s:iterator value="job.skills" id="skill" status="status">
<s:checkbox name="skillCode" key="?????"/>
</s:iterator>
skillCode is a string property of Skill object and i want it to be assigned
to skill property
of the s:checkbox tag. What is the syntax?
--
Sent from the Struts - User mailing list archive at Nabble.com.

Attachment:
user_184549.ezm (zipped)I agree it's not real intuitive, but <s:iterator/> places its object on the
*top* of the value stack and it can be accessed via <s:property/>.
On Sun, Mar 23, 2008 at 3:41 PM, Emil.I <iakoupov@(protected):
>
> Hello,
> i iterate through a set and for 'key' i want to use the property of an
> iterable element. eg:
>
> <s:iterator value="job.skills" id="skill" status="status">
> <s:checkbox name="skillCode" key="?????"/>
> </s:iterator>
>
> skillCode is a string property of Skill object and i want it to be
> assigned
> to skill property
> of the s:checkbox tag. What is the syntax?
>
>
>
> --
> View this message in context:
> http://www.nabble.com/Key-property-tp16241092p16241092.html
> Sent from the Struts - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@(protected)
> For additional commands, e-mail: user-help@(protected)
>
>
--
Scott
stanlick@(protected)

Attachment:
user_184550.ezm (zipped)I have an idea about the development of struts. If there is another way
please let me know!
i want to reuse an action in different context like this:
i mention that im using this mapping in web.xml : *.do
Ive tried 2 approaches
approach 1
defining 2 actions in struts like this:
a /view/CerereActEdit.do -> X.class
b /edit/CerereActEdit.do -> X.class (same class)
c /CerereActEdit.do -> X.class (same class)
but it seems that struts, whatever action i ran it always uses c mapping!
q: why is that because web.xml mapping mentions that struts must match *.do
so he should match /view/CerereActEdit.do with /view/CerereActEdit.do
not with /CerereActEdit.do!!!
approach 2
i only use /CerereActEdit.do that does some things and then forwards
like this:
<forward name=.... path="/CerereActeList.do"
but when i run /view/CerereActEdit.do and also /CerereActEdit.do struts
always forwards to /CerereActeList.do and never to
/view/CerereActeList.do that is he "forgets" the context in which he has
executed CerereActEdit action
i think that the behaviour of struts should be improved to keep track of
the context (not losing it on the way)
and to switch to context only when requested!

Attachment:
user_184552.ezm (zipped) >- I'm not sure that order is guaranteed when you have two params with
the same name at time they are submitted.
I thought multiple parameters with the same name is how Struts did
actions with array-typed properties. That's what's done on the File
Uploads How-To.[1] Is that example potentially broken, then?
~Dan
[1]http://struts.apache.org/2.x/docs/how-do-we-upload-files.html
-----Original Message-----
From: Jeromy Evans [mailto:jeromy.evans@(protected)]
Sent: Friday, March 21, 2008 2:49 AM
To: Struts Users Mailing List
Subject: Re: Using Javascript to change struts-generated forms
Yes, create a custom theme to get out of that table. css_xhtml may work
immediately.
Potential issues:
- Your current approach is also going to create nodes with duplicate
ids. This may confuse some browsers badly. At least remove the ID from
the template
- I'm not sure that order is guaranteed when you have two params with
the same name at time they are submitted. Ensure you can't get a
mismatch between doctype/doc name when uploading multuple files. ie.
doctype[1] is associated with docname[0]. It seems vulnerable to
browser-dependent processing of the form.
You may be safer generating the DOM nodes with JS programmatically
rather than doing a clone. That way you'll be able to assign unique
ID's for each node, add listeners for validation and use array notation
in your field names to guarantee order for struts eg. "doctype[1]".
hope that helps,
Jeromy Evans
--
This message may contain confidential, proprietary, or legally privileged information. No confidentiality or privilege is waived by any transmission to an unintended recipient. If you are not an intended recipient, please notify the sender and delete this message immediately. Any views expressed in this message are those of the sender, not those of any entity within the KBC Financial Products group of companies (together referred to as "KBC FP").
This message does not create any obligation, contractual or otherwise, on the part of KBC FP. It is not an offer (or solicitation of an offer) of, or a recommendation to buy or sell, any financial product. Any prices or other values included in this message are indicative only, and do not necessarily represent current market prices, prices at which KBC FP would enter into a transaction, or prices at which similar transactions may be carried on KBC FP's own books. The information contained in this message is provided "as is", without representations or warranties, express or implied, of any kind. Past performance is not indicative of future returns.

Attachment:
user_184553.ezm (zipped)--- "Allen, Daniel" <Daniel.Allen@(protected):
> I thought multiple parameters with the same name is how Struts did
> actions with array-typed properties. That's what's done on the File
> Uploads How-To.[1] Is that example potentially broken, then?
No; the order of parameters doesn't matter there, because there's only one
value per entry.
Your example (IIRC) has multiple fields per entry. As an example, consider:
(1) name, age
(2) name, age
(3) name, age
There's no guarantee that each name,age pair will "line up" when submitted.
Without an array index you might get names submitted like name1,name3,name2
and ages age3,age1,age2.
(My *guess* is that they'd be submitted in the order they're on the form, but
it would be a Bad Idea IMO to rely on that.)
Dave