Hi everyone,

Please find attached latest version of tags.  As mentioned below, the link tag
will create an extra parameter in the link if "indexed=true" is specified.
Default is for this parameter to be named 'index', but this can be changed by
specifying "indexId=myParamName" to change it.

If everyone is in agreement, please could someone commit the attached code?  I
have made the changes against the 1.0 release version of tags (don't know if
anyone has made any other changes to these files since then?).

Cheers,

Dave

PS  What about changes to documentation?  Do I need to write something for
these?

(See attached file: struts indexed files.ZIP)




David Hay
07/11/2001 10:44 AM

To:   [EMAIL PROTECTED]
cc:

Subject:  Re: Re[2]: Indexed tags - proposal to add changes  (Document link:
      David Hay)

Hi Martin,

Good point.  But I would lean towards leaving the "indexed=true" to make it the
same as all the other tags, and make the "indexId=..." as optional ie default to
naming the parameter we add "index" which they can change using
"indexId=myParamName" if they want to.

If no-one has objections, I will go ahead and do this, and post the code to the
list.

Cheers,

Dave




"Martin Cooper" <[EMAIL PROTECTED]> on
07/11/2001 12:56:45 AM

Please respond to [EMAIL PROTECTED]

To:   [EMAIL PROTECTED]
cc:    (bcc: David Hay/Lex/Lexmark)
Subject:  Re: Re[2]: Indexed tags - proposal to add changes



Thinking about this some more, if we have the 'indexId' attribute, do we
need the 'indexed' attribute as well? Wouldn't the specification of a value
for 'indexId' imply 'indexed="true"' anyway?

--
Martin Cooper


----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, July 10, 2001 1:07 PM
Subject: Re: Re[2]: Indexed tags - proposal to add changes


>
>
> Have changed the LinkTag to allow users to specify the indexId.
>
> After doing some more investigation, don't think your first suggestion,
Oleg,
> would ever come up.  If the user specifies the paramName, Id and property
in a
> link in a particular row in the table ie in your example:
>
> > <html:link forward="news" paramName="sell" parampProperty="when"
> > paramId="whenSell" includeIndex="yes"></html:index>
>
> I believe the user will expect to simply see the sell.when value for that
> iteration, which is what the current tag will do!  Thus the includeIndex
(or
> index=true), if this is their intention, is not necessary at all.
>
> So...suggest that the only usage required will be:
>
> <logic:iterate id="parameter" name="ParametersForm"
property="parameterList">
>    ...
>    <html:link href="x" paramId="value" paramName="parameter"
> paramProperty="value" indexed="true" indexId="recordNo">a</html:link>
>    ...
> </logic:iterate>
>
> which would produce (for the first iteration) the following link:
>
> <a href="x?recordNo=0&value=Mac">a</a>
>
> One question for you all - do we want to default the indexId to something
(eg
> "index=") or do I throw an exception if index="true" is specified without
> indexId?
>
> Should then be ready to submit code...
>
> Cheers,
>
> Dave
>
>
>
>
>
> "Martin Cooper" <[EMAIL PROTECTED]> on
> 07/10/2001 12:28:40 AM
>
> Please respond to [EMAIL PROTECTED]
>
> To:   [EMAIL PROTECTED]
> cc:    (bcc: David Hay/Lex/Lexmark)
> Subject:  Re: Re[2]: Indexed tags - proposal to add changes
>
>
>
> +1 for 'indexed="true"'
>
> +1 for 'indexId'
>
> --
> Martin Cooper
>
>
> ----- Original Message -----
> From: <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>; "Oleg V Alexeev" <[EMAIL PROTECTED]>
> Sent: Monday, July 09, 2001 9:35 AM
> Subject: Re: Re[2]: Indexed tags - proposal to add changes
>
>
> >
> >
> > Hi.  Does anyone have any comments on this?  Personally I would opt for
> leaving
> > includeIndex="yes" as indexed="true" to match other syntax.
> >
> > But, do we want to provide both types of indexed links?
> >
> > Cheers,
> >
> > Dave
> >
> >
> >
> >
> >
> > Oleg V Alexeev <[EMAIL PROTECTED]> on 07/07/2001
> 02:03:25 AM
> >
> > Please respond to [EMAIL PROTECTED];
> Please
> >       respond to Oleg V Alexeev <[EMAIL PROTECTED]>
> >
> > To:   [EMAIL PROTECTED]
> > cc:    (bcc: David Hay/Lex/Lexmark)
> > Subject:  Re[2]: Indexed tags - proposal to add changes
> >
> >
> >
> > Hello dhay,
> >
> > Link tag must build name of some parameter on base of index value or
> > use it as separate parameter (I agree with you... 8) )
> >
> > <html:link forward="news" paramName="sell" parampProperty="when"
> > paramId="whenSell" includeIndex="yes"></html:index>
> >
> > with result as - http://.../news.do?whenSell=today[30]
> >
> > Or
> >
> > <html:link forward="news" name="bean" property="linkMap"
> > includeIndex="yes" indexId="myIndex"></html:link>
> >
> > with result as - http://.../news.do?id=2&myIndex=30
> >
> > Friday, July 06, 2001, 10:10:33 PM, you wrote:
> >
> >
> >
> > dlc> Oleg,
> >
> > dlc> Hi.  Agree that the link tag is different, but think that it is due
> to its
> > dlc> nature!  Unlike the other tags, adding index as a query param seems
> to me
> > the
> > dlc> only reasonable way to provide access to the index in the link.
Not
> sure
> > how
> > dlc> else to do it (if you try and use name, obviously you change the
link
> into
> > an
> > dlc> anchor!).
> >
> > dlc> If you (or anyone else) has any suggestions to handle it in a
better
> way
> > would
> > dlc> like to hear them - maybe I missed something!
> >
> > dlc> Cheers,
> >
> > dlc> Dave
> >
> >
> >
> >
> >
> > dlc> Oleg V Alexeev <[EMAIL PROTECTED]> on
07/06/2001
> > 01:47:47 PM
> >
> > dlc> Please respond to
> [EMAIL PROTECTED];
> > Please
> > dlc>       respond to Oleg V Alexeev
> <[EMAIL PROTECTED]>
> >
> > dlc> To:   [EMAIL PROTECTED]
> > dlc> cc:    (bcc: David Hay/Lex/Lexmark)
> > dlc> Subject:  Re: Indexed tags - proposal to add changes
> >
> >
> >
> > dlc> Hello dhay,
> >
> > dlc> I think it useful addition with minimal changes of existing code -
> > dlc> good solution. But there is one problem for my mind - html:link
with
> > dlc> index=x. All another tag proposals are simple and transparent.
> >
> > dlc> Friday, July 06, 2001, 9:31:21 PM, you wrote:
> >
> >
> >
> > dlc>> Hi everyone.
> >
> > dlc>> I have been posting to the user list for some time now regarding
> creating
> > dlc>> indexed names within an iterate tag.   From feedback from that
list,
> this
> > dlc> seems
> > dlc>> to be an important addition to the current tags.
> >
> > dlc>> While looking to write my own additional tags which would do this
> (eg
> > dlc>> html:indexedText etc), I discovered that this functionality could
> easily
> > be
> > dlc>> added to the current tags, now that the getIndex() method is
> available, by
> > dlc>> creating an extra parameter 'indexed' which when set to true would
> create
> > dlc> the
> > dlc>> indexed names.  The necessary additions to current code were small
> and
> > dlc> quite
> > dlc>> clean, as follows:
> >
> > dlc>> - added 'indexed' as a parameter in BaseHandlerTag, with
appropriate
> > dlc>> setter/getter
> > dlc>> - added if statement which checks for 'indexed=true', and if so,
> appends
> > dlc> "[x]"
> > dlc>> to the name, before appending property eg myProperty[x].value.
> > dlc>>   This was added to BaseFieldTag (to cover tags which extend this)
> and
> > dlc>> CheckBoxTag, & SelectTag
> > dlc>>  as follows:
> > dlc>>    //if "indexed=true" parameter, create indexed name for this tag
> eg
> > dlc>> name="myCollection[x].myproperty"
> > dlc>>    if ("true".equals(indexed))
> > dlc>>    {
> > dlc>>       // look for outer iterate tag
> > dlc>>       IterateTag iterateTag = (IterateTag)
> findAncestorWithClass(this,
> > dlc>> IterateTag.class);
> > dlc>>       if (iterateTag == null)
> > dlc>>       {
> > dlc>>          // this tag should only be nested in iteratetag, if it's
> not,
> > dlc> don't do
> > dlc>> anything
> > dlc>>          return EVAL_PAGE;
> > dlc>>       }
> >
> > dlc>>       results.append(getName());
> > dlc>>       results.append("[");
> > dlc>>       results.append(iterateTag.getIndex());
> > dlc>>       results.append("].");
> > dlc>>    }
> >
> > dlc>> - Slight variations were added to SubmitTag and ButtonTag to
simply
> add
> > dlc> index to
> > dlc>> it's name ie mySubmit[x].
> > dlc>> - linkTag was somewhat different due to its nature.  I added if
> statement
> > dlc> to add
> > dlc>> "index=x" as a parameter to the link's querystring  ie
> myAction.do?index=1
> > dlc> or
> > dlc>> myAction.do?param1=37&index=1, as follows:
> > dlc>>         //if "indexed=true", add "index=x" parameter to query
string
> > dlc>>         if ("true".equals(indexed))
> > dlc>>         {
> > dlc>>            // look for outer iterate tag
> > dlc>>            IterateTag iterateTag = (IterateTag)
> > findAncestorWithClass(this,
> > dlc>> IterateTag.class);
> > dlc>>            if (iterateTag == null)
> > dlc>>            {
> > dlc>>                // this tag should only be nested in iteratetag, if
> it's
> > dlc> not,
> > dlc>> don't do anything
> > dlc>>               System.out.println("couldn't find enclosing iterate
> tag");
> > dlc>>               return EVAL_PAGE;
> > dlc>>            }
> >
> > dlc>>            //calculate index, and add as a parameter
> > dlc>>            if (params == null)
> > dlc>>            {
> > dlc>>                params = new HashMap();             //create new
> HashMap if
> > dlc> no
> > dlc>> other params
> > dlc>>            }
> > dlc>>            params.put("index", "" + iterateTag.getIndex());
> > dlc>>         }
> > dlc>> - minimal changes to struts-html.tld to add 'indexed' as param.
> >
> > dlc>> All of this code has been available at Ted's site for a while, and
I
> would
> > dlc> like
> > dlc>> to suggest it is added to the Struts source.  Numerous people are
> already
> > dlc> using
> > dlc>> it, and I believe many more would if it was part of the build.
> >
> > dlc>> Would appreciate your feedback, and not sure what happens next
(just
> > joined
> > dlc> this
> > dlc>> list)!
> >
> > dlc>> Cheers,
> >
> > dlc>> Dave
> >
> > dlc>> PS  code attached(See attached file: struts indexed files.ZIP)
> >
> >
> >
> >
> >
> >
> > dlc> --
> > dlc> Best regards,
> > dlc>  Oleg                            mailto:[EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > --
> > Best regards,
> >  Oleg                            mailto:[EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
>
>
>
>
>
>










.ZIP File

Reply via email to