struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "floyd.yao (JIRA)" <j...@apache.org>
Subject [jira] Created: (WW-1913) Integrate valuestack with EL
Date Mon, 07 May 2007 08:33:42 GMT
Integrate valuestack with EL 
-----------------------------

                 Key: WW-1913
                 URL: https://issues.apache.org/struts/browse/WW-1913
             Project: Struts 2
          Issue Type: Bug
          Components: Dispatch
    Affects Versions: 2.0.6
         Environment: tomcat5.5.17 , struts2.0.6
            Reporter: floyd.yao


When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest
method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() in method
prepareDispatcherAndWrapRequest )  for each request (including request like *.js,*.htm...)
but never cleanup the threadlocal dispatcher like when action served, which result in the
absence of wrapping to StrutsRequestWrapper after the first non-action mapping request. And
the unwrapped request 's getAttribute will not findAttribute in valuestack ,the El collapse
:(

I found two ways to solve this problem:
1. change the pattern from '/*' back to '*.do',and it works .(both Codebehind Plugin and zero
configuration featrue of struts2 seem to work well in *.do pattern ,isnt it ?)
2. add ActionContextCleanUp filter before struts FilterDispatcher filter in web.xml ,thus
it'll do cleanup for every request.(is it designed  to be used like this ? the guide said
it delegate the cleanup action as used with Sitemesh)

So,Is there a need to move the 'ActionContextCleanUp.cleanUp(req);' to the outer try..finally
block in class FilterDispatcher ?thus the '/*' pattern can also be  used with EL in jsp .

Is it a bug ? Any suggestion is appreciated :)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message