wood burning stoves 2.0*
The moose likes Struts and the fly likes Using LazyList for String objects Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Using LazyList for String objects" Watch "Using LazyList for String objects" New topic

Using LazyList for String objects

Anu Korah

Joined: Jun 28, 2006
Posts: 5
Does LazyList work only with javabeans and not with plain String objects?
Here's my problem. I have an ActionForm like this:

public class TestForm extends ActionForm{
private List descriptionList;
//similarly i have other List properties
private ImagebuttonBean delButtons;

private Factory buttonfactory = new Factory() {
public Object create() {
return new ImageButtonBean();

private Factory stringfactory = new Factory() {
public Object create() {
return new String("");

public List getDescriptionList(){
if (descritpionList==null){descriptionList=ListUtils.lazylist(newArrayList,stringfactory)}
return descriptionList;

public List getDeleteButtons(){
if (delButtons==null){delButtons=ListUtils.lazylist(newArrayList,buttonfactory)}
return delButtons;

public void setDescriptionList(List list){

public void setDeleteButtons(List list){


I am prepopulating the descriptionList in Action class and the delButton List if filled with ImageButtonBeans and has the same size as the descriptionList. The data is displayed onto the jsp

Note: i am not using the indexed attribute in the html:text tag. And the form is stored in session.

Everything works fine ...i do not have problems submitting the form and redisplaying the form with the saved data.

The problem occurs when my session times out but my browser with this page is still open. After the timeout, if were i click on any of my Submit buttons, say one of the Delete buttons or the Submit buttons, I get an ArrayIndexOutofBoundException. All my action classes extend a base class where i do a timeout check which forwards to the Login page.

Earlier I had been using just plain Lists and I was getting the same problem, I thought Lazylists would solve the problem. In fact, i have another page, where i display some names using <bean:write> with a Delete button against each name. It works fine in this case. When session timesout, it neatly goes to the Login page.

I think that the problem in this form is because, I am using String objects. Is there a way to make Lazylists work with Strings. I checked the example on the StrutsCatalogLazyList...but its too late in the day for me to encapsulate the fields in another Javabean and used indexed attribute.

Anu Korah

Joined: Jun 28, 2006
Posts: 5
As a followup to my earlier post, i was able to resolve the problem by using a GrowthList in place of a LazyList or Arraylist (from apache commons collection v3.2).
I agree. Here's the link: http://aspose.com/file-tools
subject: Using LazyList for String objects
Similar Threads
how to obtain list object from an actionform
Returning null form object to Action class in WebSphere if i override reset method in my form class
indexed buttons
Dynamic text fields gives java.lang.IndexOutOfBoundsException
Not able to submit data