[
https://issues.apache.org/struts/browse/WW-1496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Don Brown resolved WW-1496.
---------------------------
Resolution: Cannot Reproduce
Fix Version/s: (was: Future)
Assignee: Don Brown
I don't see the problem here: looks like you had a JSP error that either was or
wasn't decorated by sitemesh depending on the filter positions...which is what
you would expect. Please reopen the ticket with a detailed explanation on what
Struts is doing wrong if you think there is a bug.
> Sitemesh I18N error when action result not exist
> ------------------------------------------------
>
> Key: WW-1496
> URL: https://issues.apache.org/struts/browse/WW-1496
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Tags
> Affects Versions: 2.0.1
> Environment: resin-3.0.21
> sitemesh-2.2.1.jar
> Reporter: Cleven Lee
> Assignee: Don Brown
> Attachments: sitemesh_after_struts.jpg, sitemesh_before_struts.jpg
>
>
> # struts.xml:
> <action name="login" class="somePackage.LoginAction">
> <result name="success" type="dispatcher">
> <param name="location">/main.jsp</param>
> </result>
> <result name="loginfail" type="dispatcher">
> <param name="location">/login.jsp</param>
> </result>
> <result name="input">/login.jsp</result>
> </action>
> # web.xml
> <filter-mapping>
> <filter-name>struts-cleanup</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
> <filter-mapping>
> <filter-name>sitemesh</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
> <filter-mapping>
> <filter-name>struts</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
> When login succeed, dispatcher to main.jsp. But main.jsp isn't exist, struts
> display some error message:
> # Start
> Struts Problem Report
> Struts has detected an unhandled exception:
> Messages: /main.jsp
> File: com/caucho/jsp/PageManager.java
> Line number: 251
> Stacktraces
> java.io.FileNotFoundException: /main.jsp
> com.caucho.jsp.PageManager.getPage(PageManager.java:251)
> com.caucho.jsp.PageManager.getPage(PageManager.java:166)
> com.caucho.jsp.QServlet.getSubPage(QServlet.java:298)
> com.caucho.jsp.QServlet.getPage(QServlet.java:210)
>
> com.caucho.server.dispatch.PageFilterChain.compilePage(PageFilterChain.java:206)
>
> com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:133)
>
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
>
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
>
> com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:115)
>
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
>
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:277)
>
> com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:106)
>
> org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:136)
>
> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:175)
>
> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:309)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:218)
>
> com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:177)
>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
>
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.intercept(ParametersInterceptor.java:147)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:80)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:204)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:120)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:59)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:174)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.PrepareInterceptor.intercept(PrepareInterceptor.java:115)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:156)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:124)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:180)
>
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:200)
>
> org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:27)
>
> org.apache.struts2.impl.StrutsActionProxy$1.call(StrutsActionProxy.java:26)
>
> org.apache.struts2.impl.RequestContextImpl.callInContext(RequestContextImpl.java:152)
>
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:25)
>
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:330)
>
> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:256)
>
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
>
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
>
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
>
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
>
> org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:118)
>
> com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
>
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:173)
>
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:274)
> com.caucho.server.port.TcpConnection.run(TcpConnection.java:511)
> com.caucho.util.ThreadPool.runTasks(ThreadPool.java:516)
> com.caucho.util.ThreadPool.run(ThreadPool.java:442)
> java.lang.Thread.run(Thread.java:534)
> # End
> These error message also decorated with Sitemesh, but no ASCII text in
> decorator page is not display right.
> If web.xml modify like this:
> <filter-mapping>
> <filter-name>struts-cleanup</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
> <filter-mapping>
> <filter-name>struts</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
> <filter-mapping>
> <filter-name>sitemesh</filter-name>
> <url-pattern>/*</url-pattern>
> </filter-mapping>
> Put struts before sitemesh, this page is not decorated with Sitemesh.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.