Display tag conflict with lookup()

2003-03-28 Thread Susan Bradeen
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]



Re: Display tag conflict with lookup()

2003-03-28 Thread Susan Bradeen
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]