struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joseph Barefoot" <jose...@hereuare.com>
Subject RE: tag for the blank string to "&nbsp;" ... performance
Date Thu, 20 Jun 2002 21:48:32 GMT

>
> Hi,
>
>  I've got a simple question, custom tags decrease performance,
> isn't it ?  When using a custom tag, a object is instancied,
> doStartTag, doEndTag... invoked.
>
> so why use a tag for making a simple test ?

4 reasons:

1.  You are testing for the existence of a property of an Attribute, not the
existence of the attribute itself.  See below for the difference.

2.  You are enforcing MVC concepts by limiting logic expressions in your JSP

3.  By using the tag with no scope specified, the object with name "theForm"
could be in any scope.  Doing it the scriplet way would require you to write
code for a specific scope (request, sesssion, etc.).

4.  The tag is a a helluva lot easier to read than the corresponding
scriplet (see below).
>
>
>   <td>
>     <logic:present name="theForm" property="theProp">
>        <bean:write name="theForm" property="theProp"/>
>     </logic:present>
>     &nbsp;
>   </td>
>
> became
>
> <td>
>   <% if ( xxx.getAttribute("theForm") != null ) { %>
>       <bean:write name="theForm" property="theProp"/>
>   <% } else { %>&nbsp;<% } %>
> </td>


The above would not have the desired effect.  You would have to cast and
invoke the getter.  It would have to be:

 <td>
   <% if ( ((TheFormClass)request.getAttribute("theForm")).getTheProp() !=
null ) { %>
       <bean:write name="theForm" property="theProp"/>
   <% } else { %>&nbsp;<% } %>
 </td>

Note that this assumes the form bean is in the request.  You would have to
write more code if it could be either session or request scope.  Note also
that you are still invoking a custom tag to ouput the value, so if you're
trying to eliminate tag overhead it should be:

<td>
   <% if ( ((TheFormClass)request.getAttribute("theForm")).getTheProp() !=
null ) { %>
        <%= ((TheFormClass)request.getAttribute("theForm")).getTheProp() %>
   <% } else { %>&nbsp;<% } %>
 </td>


Isn't that fun to read? :):)


>
>
> -Emmanuel
>
>   James Mitchell <jmitchtx@telocity.com> a écrit :
> DOH!!.....hehehe.....sorry, that's what I meant. (going thru my mail too
> quickly)
>
> James Mitchell
> Software Engineer\Struts Evangelist
> Struts-Atlanta, the "Open Minded Developer Network"
> http://struts-atlanta.open-tools.org
>
> > -----Original Message-----
> > From: Joseph Barefoot [mailto:josephb@hereuare.com]
> > Sent: Thursday, June 20, 2002 4:02 PM
> > To: Struts Users Mailing List; Struts-Atlanta@open-tools.org
> > Subject: RE: tag for the blank string to " "
> >
> >
> > That's what we do, except the " " should be outside the logic tag, or
> > it won't get ouputted when the property isn't present:
> >
> >
> >
> >
> >
> >
> >
> >
> > > -----Original Message-----
> > > From: James Mitchell [mailto:jmitchtx@telocity.com]
> > > Sent: Wednesday, June 19, 2002 1:03 PM
> > > To: Struts Users Mailing List
> > > Subject: RE: tag for the blank string to " "
> > >
> > >
> > > You might be frustrated by the way tables are displayed when a
> > > is empty
> > > (especially if you are using stylesheets to format your tables)
> > >
> > > Instead of rewriting a bunch tablib to support this, or calling helper
> > > functions, I've overcome this by always adding a   in
> > every like
> > > this....
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Hope this helps!
> > >
> > >
> > > James Mitchell
> > > Software Engineer\Struts Evangelist
> > > Struts-Atlanta, the "Open Minded Developer Network"
> > > http://struts-atlanta.open-tools.org
> > >
> > > > -----Original Message-----
> > > > From: Cheng, Sophia [mailto:SCheng@arqule.com]
> > > > Sent: Wednesday, June 19, 2002 2:20 PM
> > > > To: 'struts-user@jakarta.apache.org'
> > > > Subject: tag for the blank string to " "
> > > >
> > > >
> > > > Hi,
> > > > Is there any tag which will write the blank string(null
> > String or
> > > > String with length 0) to " " for a form property?
> > > >
> > > > Currently I am using logic:notPresent(see below), but I
> > > > need to do it
> > > > for many properties. Is there some other way to handle it?
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > Thanks in advance.
> > > >
> > > > Sophia
> > > >
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> > > >
> > > > For additional commands, e-mail:
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> >
> > For additional commands, e-mail:
> >
> >
> >
>
>
> --
> To unsubscribe, e-mail:
> For additional commands, e-mail:
>
>
>
> ---------------------------------
> Yahoo! Mail -- Une adresse @yahoo.fr gratuite et en français !
>


--
To unsubscribe, e-mail:   <mailto:struts-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-user-help@jakarta.apache.org>


Mime
View raw message