You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "floyd.yao (JIRA)" <ji...@apache.org> on 2007/05/07 10:33:42 UTC

[jira] Created: (WW-1913) Integrate valuestack with EL

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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "James Holmes (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Holmes updated WW-1913:
-----------------------------

    Fix Version/s:     (was: 2.0.9)
                   2.0.10

Moving to 2.0.10 so that 2.0.9 can be released.

> 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
>             Fix For: 2.0.10
>
>
> When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur) . As for these unwrapped requests,their getAttribute method will not find attribute 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.


[jira] Resolved: (WW-1913) Integrate valuestack with EL

Posted by "James Holmes (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Holmes resolved WW-1913.
------------------------------

       Resolution: Duplicate
    Fix Version/s:     (was: 2.0.10)
                   2.0.8

This was fixed in Struts 2.0.8. This bug is a duplicate of WW-1816.

> 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
>             Fix For: 2.0.8
>
>
> When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur) . As for these unwrapped requests,their getAttribute method will not find attribute 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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "floyd.yao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

floyd.yao updated WW-1913:
--------------------------

    Description: 
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. And the consequent requests for the same thread are all unwrapped and their getAttribute will not find attribute 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 :)


  was:
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. And the consequent requests are all unwrapped and their getAttribute will not find attribute 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 :)



> 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() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. And the consequent requests for the same thread are all unwrapped and their getAttribute will not find attribute 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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "floyd.yao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

floyd.yao updated WW-1913:
--------------------------

    Description: 
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 :)


  was:
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 :)



> 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() )  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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "Don Brown (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Don Brown updated WW-1913:
--------------------------

    Fix Version/s: 2.0.9

> 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
>             Fix For: 2.0.9
>
>
> When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur) . As for these unwrapped requests,their getAttribute method will not find attribute 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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "floyd.yao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

floyd.yao updated WW-1913:
--------------------------

    Description: 
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. And the consequent requests are all unwrapped and their getAttribute will not find attribute 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 :)


  was:
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 :)



> 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() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. And the consequent requests are all unwrapped and their getAttribute will not find attribute 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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "floyd.yao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

floyd.yao updated WW-1913:
--------------------------

    Description: 
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur and the action request's output haven't any js , css file or sth like these;but these outputs' content vary from time to time...) . As for these unwrapped requests,their getAttribute method will not find attribute 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 :)


  was:
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. And the consequent requests for the same thread are all unwrapped and their getAttribute will not find attribute 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 :)



> 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() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur and the action request's output haven't any js , css file or sth like these;but these outputs' content vary from time to time...) . As for these unwrapped requests,their getAttribute method will not find attribute 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.


[jira] Commented: (WW-1913) Integrate valuestack with EL

Posted by "Aram Mkhitaryan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_41628 ] 

Aram Mkhitaryan commented on WW-1913:
-------------------------------------

I'm not sure if it is a bug, but I'm sure that the '/*' pattern should not be changed

the last solution:
>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 .
seems to be the best solution.

could you please give the exact steps and attach the files where you get this problem, 
so that I can try to fix it?

> 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
>             Fix For: 2.0.10
>
>
> When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur) . As for these unwrapped requests,their getAttribute method will not find attribute 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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "floyd.yao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

floyd.yao updated WW-1913:
--------------------------

    Description: 
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur) . As for these unwrapped requests,their getAttribute method will not find attribute 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 :)


  was:
When using '/*' as the FilterDispatcher mapping pattern,the FilterDispatcher.prepareDispatcherAndWrapRequest method will always prepares threadlocal dispatcher(got from Dispatcher.getInstance() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur and the action request's output haven't any js , css file or sth like these;but these outputs' content vary from time to time...) . As for these unwrapped requests,their getAttribute method will not find attribute 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 :)



> 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() )  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 raw request to StrutsRequestWrapper after the first non-action mapping request. The consequent requests for the same thread are all unwrapped(util an action request occur) . As for these unwrapped requests,their getAttribute method will not find attribute 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.


[jira] Updated: (WW-1913) Integrate valuestack with EL

Posted by "floyd.yao (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

floyd.yao updated WW-1913:
--------------------------

    Description: 
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 :)


  was:
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 :)



> 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.