Dude all you have to do is do something as simple as entering
"ListUtils" in Google and you'll find out.

-Yves-

On Mon, 13 Sep 2004 17:04:18 +1200, struts Dude <[EMAIL PROTECTED]> wrote:
> Just a silly question.
> 
> Where did ListUtils come from?? I can't find this
> in my JDK1.4.2.
> 
> Thanks
> 
> 
> 
> 
> ----- Original Message -----
> From: "Hubert Rabago" <[EMAIL PROTECTED]>
> To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> Sent: Friday, September 03, 2004 7:40 AM
> Subject: Re: Not happy with approaches.. looking for better/other
> suggestions
> 
> > Have you tried using ListUtils.lazyList() for this?  I just tried it
> > on a sample app and it works in cases like this.
> >
> > - Hubert
> >
> > On Thu, 02 Sep 2004 14:27:32 -0400, Rick Reumann <[EMAIL PROTECTED]>
> wrote:
> > > One of the most frustrating things I run into when developing Struts
> > > applications is the problem of when you want to use a request scoped
> > > ActionForm but you need to populate a collection that is one of your
> > > ActionForm properties. The problem is the classic index out of bounds
> > > exception if you do not have your collection populated with enough
> objects.
> > >
> > > For example imagine the case where you might want to edit a bunch of
> > > Access definitions on one form.
> > >
> > > So in an ActionForm property you have:
> > >
> > > Collection accessDefinitions;
> > >
> > > In your Action before you get to the form you populate your form:
> > >
> > > ((AccessForm)form).setAccessDefinitions( aCollectionOfDefs );
> > >
> > > Your JSP then displays the access definition properties for the user to
> > > edit:
> > >
> > > (condensed and table formatting removed:)
> > >
> > > <c:forEach items="${accessForm.accessDefinitions}" var="access"
> > > varStatus="status">
> > >   <html:text property="accessDefinitions[${status.index}].name"/>
> > >   <html:text property="accessDefinitions[${status.index}].description"/>
> > > </c:forEach>
> > >
> > > Now the problem will be when you submit this form. If this form was
> > > given request scope in the action mapping, you'll end up with errors
> > > since BeanUtils can not populate the Collection. You need to have the
> > > correct size in place for 'accessDefinitions' to allow for population.
> > >
> > > There are several solutions that have been proposed by searching the
> > > list archives.
> > >
> > > The easiest alternative is of course to just put your form in Session
> > > scope, but that is such a waste in my opinion.
> > >
> > > Another approach would be something like:
> > >
> > > In reset() of ActionForm:
> > >
> > > public void reset(ActionMapping actionMapping, HttpServletRequest
> request) {
> > >     if ( request.getParameter("accessDefinitionsSize") != null ) {
> > >         int accessDefinitionsSize = new
> > > Integer(request.getParameter("accessDefinitionsSize")).intValue();
> > >         accessDefinitions = new ArrayList(accessDefinitionsSize);
> > >         for (int i=0;i<accessDefinitionsSize;i++) {
> > >             accessDefinitions.add(new AccessDefinitionVO());
> > >         }
> > >     }
> > > }
> > >
> > > Then in your JSP (code snipped just showing releveant portion):
> > >
> > > <c:forEach items="${accessForm.accessDefinitions}" var="access"
> > > varStatus="status">
> > >   ....
> > >   <c:set var="accessDefinitionsSize" value="${status.count}"/>
> > > </c:forEach>
> > > <input type="hidden" name="accessDefinitionsSize"
> > > value="${accessDefinitionsSize}"/>
> > >
> > > The above works 'ok' but it's so much extra code. I've thought of just
> > > adding the accessDefinitionsSize attribute to the Session in the Action
> > > that is called right be the form is set up. Then the reset method can
> > > pull it right from there. An int in the session won't be too much
> > > overhead. But I'm not sure if I like that approach that much either
> > > (although I'm leaning towards just doing it that way).
> > >
> > > Of course I don't like the approaches that call a business class from
> > > the reset to get the size.
> > >
> > > Any suggestions welcome.
> > >
> > > --
> > > Rick
> > >
> > > ---------------------------------------------------------------------
> > > 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]
> 
> 



-- 
For me to poop on!
http://www.formetopoopon.com
http://www.nbc.com/nbc/Late_Night_with_Conan_O'Brien/video/triumph.shtml

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to