Alright! I've made progress. :) I must have started with a cobbled-up version of the improvements Rick Reumann made to the Display Tags, because (in the archives) he made it sounds so easy! Thank you, Rick, for giving me something to start with anyway. This is how I got it to work for me:
My jsp now looks like ... <display:table name="myForm" property="myObjectArrayToDisplay" columnsToDisplay="columns" scope="request" > where "columns" is a field of type String[] on myForm, with getters and setters, and populated in my action prior to displaying the jsp. I changed the lookup() parameters in the TableTag to ... public int doStartTag() throws JspException { Object obj = null; if (this.columnsToDisplay != null) { obj = (String[]) lookup(this.pageContext, this.name, this.columnsToDisplay, this.scope, false); } if (obj != null) { this.columnsDisplayArray = (String[]) obj; } HttpServletRequest req = (HttpServletRequest)this.pageContext.getRequest(); this.loadDefaultProperties(); <snip> } All *seems to be* working, and just in time for the weekend. Hope this might help someone else. Susan Bradeen On 03/28/2003 02:31:53 PM "Susan Bradeen" wrote: > I have been using the Display tag for quite a while, but now I am trying > to implement the "dynamic columns" feature, meaning passing an array of > column names so the <display:table> shows only those columns. Does anyone > else have this working? > > The Display TableTag is using the > org.apache.taglibs.display.TableTag.lookup() method, which keeps throwing > a null pointer exception. Using System.out statements, I know that the > lookup() is not getting nulls for pageContext, columnsToDisplay, property, > and scope. And putting the lookup() in a try/catch block picks up the > thrown exception. Although I am passing values/objects to lookup(), I am > wondering if I am passing the *right* values/objects? I think (hope) it > will work, if I can just get past this. > > My jsp contains (in part) ... > > <bean:define id="columnArray"> > <bean:write name="myForm" property="columns"/> > </bean:define> > > <display:table name="myForm" property="myObjectArrayToDisplay" > columnsToDisplay="<%= columnArray %>" scope="request" > > > The TableTag source code contains the following (in part) ... > > public int doStartTag() throws JspException { > > Object obj = null; > if (this.columnsToDisplay != null) { > obj = (String[]) lookup(this.pageContext, > this.columnsToDisplay, > this.property, this.scope, false); > } > if (obj != null) { > this.columnsDisplayArray = (String[]) obj; > } > > HttpServletRequest req = (HttpServletRequest)this.pageContext.getRequest(); > > this.loadDefaultProperties(); > > <snip> > > } > > Can anyone shed some light on this? > > Susan Bradeen > > --------------------------------------------------------------------- > 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]