Hi Ben,

here you go:

java.lang.IllegalStateException: A request made it through to some part of 
Stripes without being wrapped in a
StripesRequestWrapper. The StripesFilter is responsible for wrapping the 
request, so it is likely that either the StripesFilter is
not deployed, or that it's mappings do not include the DispatcherServlet _and_ 
*.jsp. Stripes does not requiire that the Stripes
wrapper is the only request wrapper, or the outermost; only that is is present.
        at 
net.sourceforge.stripes.controller.StripesRequestWrapper.findStripesWrapper(StripesRequestWrapper.java:72)
        at 
net.sourceforge.stripes.controller.DefaultActionBeanPropertyBinder.bind(DefaultActionBeanPropertyBinder.java:263)
        at 
net.sourceforge.stripes.controller.DispatcherHelper$3.intercept(DispatcherHelper.java:190)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:157)
        at 
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:111)
        at 
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:154)
        at 
net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:73)
        at 
net.sourceforge.stripes.controller.DispatcherHelper.doBindingAndValidation(DispatcherHelper.java:187)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doBindingAndValidation(DispatcherServlet.java:222)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:147)
        at 
net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:65)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268)
        at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126)
        at 
net.sourceforge.stripes.controller.StripesFilter.rewriteRequest(StripesFilter.java:319)
        at 
net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:200)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:285)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:821)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:208)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:378)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:368)
        at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)


--- Original Nachricht ---
Absender: Ben Gunter
Datum: 17.06.2007 19:16
> Hi, Kai. I didn't realize that IllegalStateException was coming from 
> StripesRequestWrapper. Can you send the full stack trace for that exception?
> 
> Kai Grabfelder wrote:
>> Hi,
>>
>> as written in my last post, the removed cast brings the next problem: the 
>> IllegalStateException (StripesRequestWrapper.java:72) is
>> thrown. I guess the forward is the problem. I guess if I would so such a 
>> forward anywhere else in my application I would encounter
>> the same problem. What are you mapping the dispatcher sevlet against?
>>
>> What do you mean with "response has been commited"?
>>
>> I would go for removing the internal forward, I think it brings less 
>> problems with it. What speaks against this?
>>
>> cheers
>>
>> Kai
>>
>>
>> --- Original Nachricht ---
>> Absender: Ben Gunter
>> Datum: 17.06.2007 18:19
>>   
>>> I removed that cast since it wasn't necessary, but I guess that just 
>>> exposed a different problem for you. I've tested locally with a *.htm 
>>> mapping using the same UrlBinding you gave, and it works with no problem 
>>> for me.
>>>
>>> The way this thing works is the parameters that are embedded in the 
>>> request URI are detected by StripesFilter, and the request is forwarded 
>>> internally to the same URI with the embedded parameters appended as a 
>>> query string. For example, given @UrlBinding("/foo/{id}/bar.html"), a 
>>> request to /foo/123/bar.html would be rewritten and forwarded to 
>>> /foo/123/bar.html?id=123.
>>>
>>> If the response has been committed before this forward is attempted, 
>>> then an IllegalStateException is thrown. Is this possibly what is 
>>> happening in your case?
>>>
>>> I've been mulling the idea of not using an internal forward at all and 
>>> just adding to StripesRequestWrapper the ability to add new parameters 
>>> that would appear as if they were present in the original request. 
>>> Anybody have any thoughts on that?
>>>
>>> -Ben
>>>
>>> Kai Grabfelder wrote:
>>>     
>>>> hm, if I change the line, throwing the exception to HttpServletRequest I'm 
>>>> getting an IllegalStateException by
>>>> StripesRequestWrapper.java:72
>>>>
>>>> It this somehow related to my settings in web.xml?
>>>>
>>>> I currently do a mapping of *.htm to the StripesDispatcher and a mapping 
>>>> of *.jsp to the StripesFilter...
>>>>
>>>> cheers
>>>>
>>>> Kai
>>>>
>>>>
>>>> --- Original Nachricht ---
>>>> Absender: Kai Grabfelder
>>>> Datum: 17.06.2007 13:01
>>>>   
>>>>       
>>>>> Hi Ben,
>>>>>
>>>>> I just tried the current trunk code and I'm getting a ClassCastException 
>>>>> after calling an action bean with the following URL mapping:
>>>>>
>>>>> @UrlBinding(value = "/community/mitglieder/{id}/show.htm")
>>>>>
>>>>> The following url was generated by the link tag: 
>>>>> /community/mitglieder/22/show.htm - now if I open this url in the browser 
>>>>> the
>>>>> following exception is thrown...
>>>>>
>>>>> java.lang.ClassCastException: org.mortbay.jetty.Request
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getActionBean(AnnotatedClassActionResolver.java:245)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.DispatcherHelper$1.intercept(DispatcherHelper.java:102)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:157)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:111)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:154)
>>>>>  at 
>>>>> net.sourceforge.stripes.integration.spring.SpringInterceptor.intercept(SpringInterceptor.java:64)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:154)
>>>>>  at 
>>>>> net.sourceforge.stripes.security.controller.SecurityInterceptor.intercept(SecurityInterceptor.java:80)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:154)
>>>>>  at 
>>>>> de.kinokai.web.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:92)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:154)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:73)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.DispatcherHelper.resolveActionBean(DispatcherHelper.java:98)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.DispatcherServlet.resolveActionBean(DispatcherServlet.java:206)
>>>>>  at 
>>>>> net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:140)
>>>>> ...
>>>>>
>>>>> Any idea?
>>>>>
>>>>> cheers
>>>>>
>>>>> Kai
>>>>>
>>>>>
>>>>> --- Original Nachricht ---
>>>>> Absender: Ben Gunter (JIRA)
>>>>> Datum: 13.06.2007 16:02
>>>>>     
>>>>>         
>>>>>>     [ http://mc4j.org/jira/browse/STS-262?page=comments#action_10727 ] 
>>>>>>             
>>>>>> Ben Gunter commented on STS-262:
>>>>>> --------------------------------
>>>>>>
>>>>>> I forgot to mention that parameters can take default values. If the 
>>>>>> parameter is not present in the URI, then its default value will be 
>>>>>> appended to the query string on forward. Here's an example.
>>>>>>
>>>>>> @UrlBinding("/action/map/{country=US}")
>>>>>>
>>>>>> So if the URI is /action/map/CA you'll get a map of Canada, but if it's 
>>>>>> just /action/map then you'll get a map of the default country, in this 
>>>>>> case US.
>>>>>>
>>>>>> Escaping is also supported with backslashes in case you want to embed 
>>>>>> something weird:
>>>>>>
>>>>>> @UrlBinding("/action/this\\{is\\}weird")
>>>>>>
>>>>>>       
>>>>>>           
>>>>>>> Friendly URL support
>>>>>>> --------------------
>>>>>>>
>>>>>>>                 Key: STS-262
>>>>>>>                 URL: http://mc4j.org/jira/browse/STS-262
>>>>>>>             Project: Stripes
>>>>>>>          Issue Type: New Feature
>>>>>>>          Components: ActionBean Dispatching
>>>>>>>            Reporter: Tim Fennell
>>>>>>>         Assigned To: Ben Gunter
>>>>>>>             Fix For: Release 1.5
>>>>>>>
>>>>>>>         Attachments: cleanurls-patches.zip, cleanurls-src-01182007.zip
>>>>>>>
>>>>>>>
>>>>>>> One thing that comes up frequently is support for friendly URLs, e.g.:
>>>>>>>   /blog/2006/08/22
>>>>>>>   /user/6282/edit
>>>>>>> and so on.  While it's possible to acheive URLs like this using 3rd 
>>>>>>> party tools like UrlRewriteFilter it would be nice if they were built 
>>>>>>> directly into stripes because then all URL information could be kept in 
>>>>>>> a single place for each class.
>>>>>>> I'm envisaging an annotation something like this:
>>>>>>>     @UrlInfo("/{year}/{month}/{day}")
>>>>>>>     @UrlInfo("/{userId}/{event}")
>>>>>>> that would inform Stripes how to map the extra pieces of information 
>>>>>>> encoded in the URL.
>>>>>>> Optionally this could also be specified with the existing UrlBinding 
>>>>>>> annotations, e.g.
>>>>>>>     @UrlBinding("/blog/{year}/{month}/{day}")
>>>>>>> If done right, the stripes url and link tags could also take advantage 
>>>>>>> of this information to put certain parameters into the URL instead of a 
>>>>>>> parameter string.
>>>>>>> I'm very open to hearing alternative ideas around how to specify this, 
>>>>>>> and other functionality that would be desirable.
>>>>>>>         
>>>>>>>             
>>>>> -------------------------------------------------------------------------
>>>>> This SF.net email is sponsored by DB2 Express
>>>>> Download DB2 Express C - the FREE version of DB2 express and take
>>>>> control of your XML. No limits. Just data. Click to get it now.
>>>>> http://sourceforge.net/powerbar/db2/
>>>>> _______________________________________________
>>>>> Stripes-development mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/stripes-development
>>>>>
>>>>>     
>>>>>         
>>>> -------------------------------------------------------------------------
>>>> This SF.net email is sponsored by DB2 Express
>>>> Download DB2 Express C - the FREE version of DB2 express and take
>>>> control of your XML. No limits. Just data. Click to get it now.
>>>> http://sourceforge.net/powerbar/db2/
>>>> _______________________________________________
>>>> Stripes-development mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/stripes-development
>>>>   
>>>>       
>>>
>>> ------------------------------------------------------------------------
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by DB2 Express
>>> Download DB2 Express C - the FREE version of DB2 express and take
>>> control of your XML. No limits. Just data. Click to get it now.
>>> http://sourceforge.net/powerbar/db2/
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Stripes-development mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/stripes-development
>>>     
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> Stripes-development mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/stripes-development
>>   
> 
> 
> 
> ------------------------------------------------------------------------
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Stripes-development mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/stripes-development


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to