I'm having some trouble getting the ui tags to work with velocity. I have a
reference to the tag location in webwork.properties, but I still get the
following exception:

2003-10-29 23:31:53,251 [ERROR] ui.AbstractUITag - Could not generate UI
template
java.lang.NullPointerException
        at
com.opensymphony.webwork.views.velocity.AbstractTagDirective.processTag(Abst
ractTagDirective.java:270)
        at
com.opensymphony.webwork.views.velocity.AbstractTagDirective.render(Abstract
TagDirective.java:112)
        at
org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.jav
a:153)
        at
org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:27
1)
        at org.apache.velocity.Template.merge(Template.java:296)
        at
com.opensymphony.webwork.views.jsp.ui.AbstractUITag.mergeTemplate(AbstractUI
Tag.java:266)
        at
com.opensymphony.webwork.views.jsp.ui.AbstractUITag.doEndTag(AbstractUITag.j
ava:115)
        at _decorators._analysis._jspService(_analysis.java:422)
        at
com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
        at
oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:537)
        at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:272)
        at
oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
        at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.ja
va:65)
        at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:
46)
        at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispa
tcher.java:560)
        at
com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDisp
atcher.java:119)
        at
com.opensymphony.module.sitemesh.filter.PageFilter.applyDecorator(PageFilter
.java:169)
        at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:
68)
        at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispa
tcher.java:556)
        at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletReq
uestDispatcher.java:306)
        at
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandle
r.java:767)
        at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
        at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
        at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja
va:803)
        at java.lang.Thread.run(Thread.java:534)

This seems similar to another problem recently reported, where the
pageContext in VelocityResult was null. I've been debugging, and it looks
like whatever fixed that problem worked, because in VelocityResult, the
pageContext is not null. My problem comes later; after the velocityResult
does its thing, it calls 
jspFactory.releasePageContext(pageContext); (line 85).

Later on, in AbstractTagDirective (lines 108-112), the following happens:
            if (object instanceof Tag) {
                PageContext pageContext =
ServletActionContext.getPageContext();
                ((Tag) object).setParent((Tag) currentTag);

                return this.processTag(pageContext, (Tag) object,
subContextAdapter, writer, bodyNode);

The pageContext variable returned from the call to
"ServletActionContext.getPageContext();" is null, and is the cause of the
exception (thrown on line 270 in AbstractTagDirective,
"pageContext.getOut();"

What could be causing this? Something that might help is the fact that this
velocity tag is actually being used as a component, called from a JSP page
from the component tag. To further complicate matters, the JSP page is
actually a SiteMesh decorator, so it might be doing something totally
outside the normal means of operation.

Any suggestions?

Thanks,

Drew



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to