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