Error and message tags produce null pointer exception on Weblogic 9.2 when used
outside of a form tag.
------------------------------------------------------------------------------------------------------
Key: STS-326
URL: http://mc4j.org/jira/browse/STS-326
Project: Stripes
Issue Type: Bug
Components: Tag Library
Affects Versions: Release 1.4.2
Environment: Weblogic 9.2 on Windows 2003
Reporter: Karl Kedrovsky
Assigned To: Tim Fennell
When <stripes:errors /> or <stripes:messages /> tags are places outside of a
<stripes:form> tag stripes produces a null pointer exception. The stack trace
follows:
java.lang.NullPointerException at
net.sourceforge.stripes.tag.FormTag.getActionBean(FormTag.java:305) at
net.sourceforge.stripes.tag.ErrorsTag.doStartTag(ErrorsTag.java:227) at
jsp_servlet._layout.__small_form._jspService(__small_form.java:179) at
weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at
weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:391)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:309)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at
weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:496)
at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDisp
atcherImpl.java:427) at
weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:152) at
weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:173) at
net.sourceforge.stripes.tag.layout.LayoutRenderTag.doEndTag(LayoutRenderTag.java:122)
at jsp_servlet._web_45_inf._jsp.__login._jsp__tag1(__login.java:205) at
jsp_servlet._web_45_inf._jsp.__login._jspService(__login.java:130) at
weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at
weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:391)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:309)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.se
rvlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:496)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
at
net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.java:104)
at
net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHelper.java:484)
at
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:157)
at
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:107)
at
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:154)
at
net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:73)
The JSP (layout) that produced the error is:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="stripes" uri="http://stripes.sourceforge.net/stripes.tld" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:setBundle basename="StripesResources_fields"/>
<stripes:layout-definition>
<stripes:layout-render name="/layout/default.jsp"
bannerHeading="${bannerHeading}">
<stripes:layout-component name="contents">
<center>
<div class="greyBox">
<div class="greyBoxHdr">
<p><fmt:message key="${heading}"/></p>
</div>
<div class="greyBoxContent">
<div id="error">
<stripes:errors />
</div>
<div id="message">
<stripes:messages />
</div>
${form}
</div>
</div>
<div class="greyBoxBottom"><img
src="/images/login_box_bottom.gif" width="479" height="4" /></div>
</center>
</stripes:layout-component>
</stripes:layout-render>
</stripes:layout-definition>
The JSP that is rendered by the layout (the bits in ${form}) is:
<%@ taglib prefix="stripes" uri="http://stripes.sourceforge.net/stripes.tld" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:setBundle basename="StripesResources_fields"/>
<stripes:layout-render name="/layout/small_form.jsp" siteSection="welcome"
heading="/Login.action.login">
<stripes:layout-component name="form">
<stripes:form action="/Login.action" focus="user.username">
<div class="loginCopyBox">
<p><strong><fmt:message
key="/Login.action.forgot"/></strong></p>
<p><fmt:message key="user.password"/> - <stripes:link
href="/ForgotPassword.action"><fmt:message
key="global.clickHere"/></stripes:link></p>
<p><fmt:message key="user.username"/> - <stripes:link
href="/ForgotUsername.action"><fmt:message
key="global.clickHere"/></stripes:link></p>
</div>
<div class="loginForm">
<p><stripes:label for="user.username"/><br /><stripes:text
id="user.username" name="user.username" class="input224"/></p>
<p><stripes:label for="user.password"/><br /><stripes:password
id="user.password" name="user.password" class="input224"/></p>
</div>
<div class="loginBtn">
<stripes:image name="login" src="../images/btn_login.jpg" />
</div>
</stripes:form>
</stripes:layout-component>
</stripes:layout-render>
A work-around for the problem is to move the errors/messages tags to the JSP
that contains the form. The exact same application runs just fine on Tomcat
5.5.20.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://mc4j.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development