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

Reply via email to