Page with nested layouts causes separate tag to execute in a page context 
without supplied attributes
-----------------------------------------------------------------------------------------------------

                 Key: STS-923
                 URL: http://www.stripesframework.org/jira/browse/STS-923
             Project: Stripes
          Issue Type: Bug
    Affects Versions: Release 1.5.4
         Environment: JBoss 5.1.0* (we have a few local modifications we use)
tomcat 8.0.12 (with jstl 1.2 added to the lib directory)
Running on Mac OS X (10.9.4)
            Reporter: Robert West
         Attachments: stripes-issue-1.5.4.tar

We are currently running on an older version of stripes (either 1.5.0 or 1.5.1 
with the patch for STS-655 applied) and are looking to upgrade, but have run 
into a couple of what appear to be bugs.

First, when trying Stripes 1.5.4 (I first tried 1.5.8, then worked my way back 
to a working version in 1.5.3, then started forward one version at a time), we 
run into what appears to be an issue with pages that have nested layout renders 
and the way they handle page contexts.  Our standard layout definition for 
displaying most entities in the system uses jsp:includes to grab various 
standard navigational elements and then uses two tags to provide a title bar 
and a left hand menu to wrap around the basic body component implemented by 
whatever page is using the layout.

The left hand menu tag takes a couple of parameters and supplies them to a 
JavaBean created via jsp:useBean.  The title tag takes some of the same data 
but then uses nested layout renders to render the various drop-down menus in 
the title bar.  One layout render is used to generate the entire drop-down menu 
and then further nested layouts are used to render each button on the drop-down 
menu.

When the page is executed, the left hand menu tag gets executed several times.  
I suspect this is being executed roughly once per sub-sub-layout render in the 
title tag plus once for the page itself.  In one of these invocations, the page 
context for the main page contains the necessary data (the "data" and 
"myProperty" variables in the attached simplified example) but in the others it 
does not and the main page thus passes null to the tag.  The JavaBean isn't 
expecting nulls and an NPE results.  If I remove the sub-sub-layout renders 
from the title tag (by replacing the content of the "dropMenus" layout 
component in TestActionBeanTitle.tag with static text), this does not occur.

While I can make the JavaBean threadsafe (the results of the invocations where 
the parameters are null seem to get thrown away from what I can tell, so 
returning nonsense "works"), I'm nervous about other c:if or c:choose logic 
also being impacted by unexpected and logically incorrect nulls.  I suppose in 
theory there's also a potential concern about performance issues due to tags 
potentially being executed many more times than is necessary.

I know this does not occur in 1.5.3 and does in 1.5.4.  I'm uncertain if it 
might be addressed in a later version, as I encounter a different issue with 
1.5.5 through 1.5.8 with this sample page, even with the sub-sub-layout renders 
removed (I'll be opening a separate issue for that).

I've tried this in our current JBoss 5.1.0 environment we use in production and 
also in a vanilla tomcat 8.0.12 installation (my only modification was to 
include the jstl 1.2 library in the tomcat lib directory).  The behavior seems 
to be the same in either case.

Happy to try other ideas and help with the investigation.  I tried working 
through the various Stripes tags and page context manipulation to try and 
figure out what might be going on, but my brain kept getting tied up in knots.  
:-D

Sample log with stripes debug turned on:
{code}
2014-09-11 08:50:36,406 INFO  localhost-startStop-1 [StripesFilter] Stripes 
Initialization Complete. Version: 1.5.4, Build: 1.5.4
2014-09-11 08:50:49,239 DEBUG http-nio-8080-exec-1 [StripesFilter] LocalePicker 
selected locale: en_US
2014-09-11 08:50:49,239 DEBUG http-nio-8080-exec-1 [StripesFilter] LocalePicker 
did not pick a character encoding, using default: null
2014-09-11 08:50:49,241 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] Matched 
/fundaccounting/Test.action to /fundaccounting/Test.action
2014-09-11 08:50:49,251 INFO  http-nio-8080-exec-1 [ExpressionValidator] 
Expression validation will be performed using: 
net.sourceforge.stripes.validation.expression.Jsp21ExpressionExecutor
2014-09-11 08:50:49,253 DEBUG http-nio-8080-exec-1 [ExecutionContext] 
Transitioning to lifecycle stage RequestInit
2014-09-11 08:50:49,255 DEBUG http-nio-8080-exec-1 [ExecutionContext] 
Transitioning to lifecycle stage ActionBeanResolution
2014-09-11 08:50:49,255 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] Matched 
/fundaccounting/Test.action to /fundaccounting/Test.action
2014-09-11 08:50:49,255 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] Matched 
/fundaccounting/Test.action to /fundaccounting/Test.action
2014-09-11 08:50:49,260 DEBUG http-nio-8080-exec-1 [ExecutionContext] 
Transitioning to lifecycle stage HandlerResolution
2014-09-11 08:50:49,261 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] Matched 
/fundaccounting/Test.action to /fundaccounting/Test.action
2014-09-11 08:50:49,261 DEBUG http-nio-8080-exec-1 [DispatcherHelper] Resolved 
event: defaultResolution; will invoke: TestActionBean.defaultResolution()
2014-09-11 08:50:49,263 DEBUG http-nio-8080-exec-1 [ExecutionContext] 
Transitioning to lifecycle stage BindingAndValidation
2014-09-11 08:50:49,266 DEBUG http-nio-8080-exec-1 
[DefaultValidationMetadataProvider] Loaded validations for ActionBean 
TestActionBean: <none>
2014-09-11 08:50:49,266 DEBUG http-nio-8080-exec-1 
[DefaultActionBeanPropertyBinder] Running required field validation on bean 
class com.backstopsolutions.stripes.TestActionBean
2014-09-11 08:50:49,268 DEBUG http-nio-8080-exec-1 [ExecutionContext] 
Transitioning to lifecycle stage CustomValidation
2014-09-11 08:50:49,270 DEBUG http-nio-8080-exec-1 [ExecutionContext] 
Transitioning to lifecycle stage EventHandling
2014-09-11 08:50:49,271 DEBUG http-nio-8080-exec-1 [ExecutionContext] 
Transitioning to lifecycle stage ResolutionExecution
2014-09-11 08:50:49,272 DEBUG http-nio-8080-exec-1 [HttpCacheInterceptor] 
Looking for HttpCache on 
com.backstopsolutions.stripes.TestActionBean.defaultResolution()
2014-09-11 08:50:49,274 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] No URL 
binding matches /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:49,274 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] No URL 
binding matches /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:49,779 DEBUG http-nio-8080-exec-1 [LayoutContext] Push context 
/WEB-INF/stripes/testAction.jsp -> /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:49,780 DEBUG http-nio-8080-exec-1 [LayoutWriter] Create layout 
writer wrapped around org.apache.jasper.runtime.JspWriterImpl@722fd5ba
2014-09-11 08:50:49,780 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
layout init in /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:49,780 DEBUG http-nio-8080-exec-1 [LayoutWriter] Failed to 
flush buffer: Illegal to flush within a custom tag
2014-09-11 08:50:49,781 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Register component embeddedStyle with /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:49,783 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Register component embeddedJavascript with /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:49,783 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Register component body with /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:49,783 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] End layout 
init in /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:49,783 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
layout exec in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Invoke 
component renderer for direct render of "embeddedStyle"
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Render component "embeddedStyle" in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Start execute "embeddedStyle" in /WEB-INF/stripes/testAction.jsp -> 
/layouts/testActionBeanLayout.jsp from /WEB-INF/stripes/testAction.jsp -> 
/layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
component render phase for embeddedStyle in /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Render 
embeddedStyle in /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedJavascript in /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for body in /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] End 
component render phase for null in /WEB-INF/stripes/testAction.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
End execute "embeddedStyle" in /WEB-INF/stripes/testAction.jsp -> 
/layouts/testActionBeanLayout.jsp from /WEB-INF/stripes/testAction.jsp -> 
/layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,176 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Invoke 
component renderer for direct render of "embeddedHead"
2014-09-11 08:50:50,177 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No 
component renderer in page context for 'embeddedHead'
2014-09-11 08:50:50,177 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Component was not present in /WEB-INF/stripes/testAction.jsp so using default 
content from /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,179 DEBUG http-nio-8080-exec-1 [LayoutContext] Push context 
/layouts/testActionBeanLayout.jsp -> /layouts/test-title-box.jsp
2014-09-11 08:50:50,179 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
layout init in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,179 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Register component title with /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,179 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Register component dropMenus with /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,179 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] End layout 
init in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,180 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
layout exec in /layouts/test-title-box.jsp
2014-09-11 08:50:50,253 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Invoke 
component renderer for direct render of "title"
2014-09-11 08:50:50,253 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Render component "title" in /layouts/test-title-box.jsp
2014-09-11 08:50:50,253 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Start execute "title" in /layouts/testActionBeanLayout.jsp -> 
/layouts/test-title-box.jsp from /layouts/testActionBeanLayout.jsp -> 
/layouts/test-title-box.jsp
2014-09-11 08:50:50,254 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedStyle in /layouts/test-title-box.jsp
2014-09-11 08:50:50,254 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedHead in /layouts/test-title-box.jsp
2014-09-11 08:50:50,254 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
component render phase for title in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,254 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Render 
title in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,256 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] Matched 
/fundaccounting/Test.action to /fundaccounting/Test.action
2014-09-11 08:50:50,256 DEBUG http-nio-8080-exec-1 [UrlBindingFactory] Matched 
/fundaccounting/Test.action to /fundaccounting/Test.action
2014-09-11 08:50:50,257 DEBUG http-nio-8080-exec-1 [DefaultFormatterFactory] 
Caching Formatter for class java.lang.String => class 
net.sourceforge.stripes.format.ObjectFormatter
2014-09-11 08:50:50,258 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for dropMenus in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,258 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] End 
component render phase for null in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,258 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for body in /layouts/test-title-box.jsp
2014-09-11 08:50:50,261 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedJavascript in /layouts/test-title-box.jsp
2014-09-11 08:50:50,261 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
End execute "title" in /layouts/testActionBeanLayout.jsp -> 
/layouts/test-title-box.jsp from /layouts/testActionBeanLayout.jsp -> 
/layouts/test-title-box.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Invoke 
component renderer for direct render of "dropMenus"
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Render component "dropMenus" in /layouts/test-title-box.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Start execute "dropMenus" in /layouts/testActionBeanLayout.jsp -> 
/layouts/test-title-box.jsp from /layouts/testActionBeanLayout.jsp -> 
/layouts/test-title-box.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedStyle in /layouts/test-title-box.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedHead in /layouts/test-title-box.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
component render phase for dropMenus in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for title in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Render 
dropMenus in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutContext] Push context 
/layouts/testActionBeanLayout.jsp -> /layouts/test-button-list.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
layout init in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Register component topButton with /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] 
Register component topList with /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] End layout 
init in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,262 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
layout exec in /layouts/test-button-list.jsp
2014-09-11 08:50:50,328 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] Invoke 
component renderer for direct render of "topButton"
2014-09-11 08:50:50,328 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Render component "topButton" in /layouts/test-button-list.jsp
2014-09-11 08:50:50,328 DEBUG http-nio-8080-exec-1 [LayoutComponentRenderer] 
Start execute "topButton" in /layouts/testActionBeanLayout.jsp -> 
/layouts/test-button-list.jsp from /layouts/testActionBeanLayout.jsp -> 
/layouts/test-button-list.jsp
2014-09-11 08:50:50,328 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedStyle in /layouts/test-button-list.jsp
2014-09-11 08:50:50,329 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for embeddedHead in /layouts/test-button-list.jsp
2014-09-11 08:50:50,329 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] Start 
component render phase for topButton in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,329 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for title in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,329 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for dropMenus in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,329 DEBUG http-nio-8080-exec-1 [LayoutRenderTag] End 
component render phase for topButton in /layouts/testActionBeanLayout.jsp
2014-09-11 08:50:50,329 DEBUG http-nio-8080-exec-1 [LayoutComponentTag] No-op 
for body in /layouts/test-button-list.jsp
2014-09-11 08:50:50,334 ERROR http-nio-8080-exec-1 [LayoutComponentTag] 
Unhandled exception trying to render component "topButton" to a string in 
context /layouts/testActionBeanLayout.jsp -> /layouts/test-button-list.jsp
org.apache.jasper.JasperException: An exception occurred processing JSP page 
/layouts/testActionBeanLayout.jsp at line 26

23:                 <stripes:layout-component name="body"/>
24:             </div>
25:             <div id="left">
26:                 <stab:menu data="${data}" myProperty="${myProperty}"/>
27:             </div>
28:         </div>
29:         <script type="text/javascript">


Stacktrace:
        at 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:523)
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:934)
        at 
org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:675)
        at 
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:669)
        at 
net.sourceforge.stripes.tag.layout.LayoutComponentRenderer.write(LayoutComponentRenderer.java:133)
        at 
net.sourceforge.stripes.tag.layout.LayoutComponentTag.doStartTag(LayoutComponentTag.java:158)
        at 
org.apache.jsp.layouts.test_002dbutton_002dlist_jsp._jspx_meth_stripes_005flayout_002dcomponent_005f0(test_002dbutton_002dlist_jsp.java:146)
        at 
org.apache.jsp.layouts.test_002dbutton_002dlist_jsp._jspx_meth_stripes_005flayout_002ddefinition_005f0(test_002dbutton_002dlist_jsp.java:117)
        at 
org.apache.jsp.layouts.test_002dbutton_002dlist_jsp._jspService(test_002dbutton_002dlist_jsp.java:82)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:523)
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:934)
        at 
org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:675)
        at 
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:669)
        at 
org.apache.jasper.runtime.JspContextWrapper.include(JspContextWrapper.java:319)
        at 
net.sourceforge.stripes.tag.layout.LayoutRenderTag.doEndTag(LayoutRenderTag.java:141)
        at 
org.apache.jsp.tag.webTestActionBeanTitle_tag._jspx_meth_stripes_005flayout_002drender_005f1(webTestActionBeanTitle_tag.java:302)
        at 
org.apache.jsp.tag.webTestActionBeanTitle_tag._jspx_meth_stripes_005flayout_002dcomponent_005f1(webTestActionBeanTitle_tag.java:262)
        at 
org.apache.jsp.tag.webTestActionBeanTitle_tag._jspx_meth_stripes_005flayout_002drender_005f0(webTestActionBeanTitle_tag.java:143)
        at 
org.apache.jsp.tag.webTestActionBeanTitle_tag.doTag(webTestActionBeanTitle_tag.java:103)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspx_meth_stab_005ftitle_005f0(testActionBeanLayout_jsp.java:228)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspx_meth_stripes_005flayout_002ddefinition_005f0(testActionBeanLayout_jsp.java:145)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspService(testActionBeanLayout_jsp.java:90)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:523)
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:934)
        at 
org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:675)
        at 
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:669)
        at 
net.sourceforge.stripes.tag.layout.LayoutComponentRenderer.write(LayoutComponentRenderer.java:133)
        at 
net.sourceforge.stripes.tag.layout.LayoutComponentTag.doStartTag(LayoutComponentTag.java:158)
        at 
org.apache.jsp.layouts.test_002dtitle_002dbox_jsp._jspx_meth_stripes_005flayout_002dcomponent_005f1(test_002dtitle_002dbox_jsp.java:170)
        at 
org.apache.jsp.layouts.test_002dtitle_002dbox_jsp._jspx_meth_stripes_005flayout_002ddefinition_005f0(test_002dtitle_002dbox_jsp.java:127)
        at 
org.apache.jsp.layouts.test_002dtitle_002dbox_jsp._jspService(test_002dtitle_002dbox_jsp.java:83)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:523)
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:934)
        at 
org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:675)
        at 
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:669)
        at 
org.apache.jasper.runtime.JspContextWrapper.include(JspContextWrapper.java:319)
        at 
net.sourceforge.stripes.tag.layout.LayoutRenderTag.doEndTag(LayoutRenderTag.java:141)
        at 
org.apache.jsp.tag.webTestActionBeanTitle_tag._jspx_meth_stripes_005flayout_002drender_005f0(webTestActionBeanTitle_tag.java:147)
        at 
org.apache.jsp.tag.webTestActionBeanTitle_tag.doTag(webTestActionBeanTitle_tag.java:103)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspx_meth_stab_005ftitle_005f0(testActionBeanLayout_jsp.java:228)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspx_meth_stripes_005flayout_002ddefinition_005f0(testActionBeanLayout_jsp.java:145)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspService(testActionBeanLayout_jsp.java:90)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:584)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:523)
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:934)
        at 
org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:675)
        at 
org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:669)
        at 
net.sourceforge.stripes.tag.layout.LayoutRenderTag.doEndTag(LayoutRenderTag.java:141)
        at 
org.apache.jsp.WEB_002dINF.stripes.testAction_jsp._jspx_meth_stripes_005flayout_002drender_005f0(testAction_jsp.java:157)
        at 
org.apache.jsp.WEB_002dINF.stripes.testAction_jsp._jspService(testAction_jsp.java:104)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
        at 
net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.java:110)
        at 
net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHelper.java:508)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158)
        at 
net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheInterceptor.java:99)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
        at 
net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
        at 
net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(DispatcherHelper.java:502)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(DispatcherServlet.java:286)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:170)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)
        at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
        at 
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
        at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:744)
Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: 
javax.el.ELException: Error reading 'someCompositeData' on type 
com.backstopsolutions.web.TestActionBeanMenuHelper
        at 
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:901)
        at 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:834)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspService(testActionBeanLayout_jsp.java:103)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
        ... 148 more
Caused by: javax.el.ELException: Error reading 'someCompositeData' on type 
com.backstopsolutions.web.TestActionBeanMenuHelper
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:101)
        at 
org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:110)
        at org.apache.el.parser.AstValue.getValue(AstValue.java:167)
        at 
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
        at 
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:956)
        at 
org.apache.jsp.tag.webTestActionBeanMenu_tag.doTag(webTestActionBeanMenu_tag.java:129)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspx_meth_stab_005fmenu_005f0(testActionBeanLayout_jsp.java:265)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspx_meth_stripes_005flayout_002ddefinition_005f0(testActionBeanLayout_jsp.java:157)
        at 
org.apache.jsp.layouts.testActionBeanLayout_jsp._jspService(testActionBeanLayout_jsp.java:90)
        ... 151 more
Caused by: java.lang.NullPointerException
        at 
com.backstopsolutions.web.TestActionBeanMenuHelper.getSomeCompositeData(Unknown 
Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
        ... 159 more
<variations on the same stack trace repeat>
{code}

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to