Assuming that I have in xwork an action named "bar" inside a package with
namespace "foo/" if I want to map the follow request to ServletDispatcher:

http://my.com/foo/bar  ( and not http://my.com/foo/bar.action)

I assume that in web.xml should be:

   <servlet-mapping>
      <servlet-name>webwork2</servlet-name>
      <url-pattern>/*</url-pattern>
   </servlet-mapping>

The problem is that request.getServletPath() (in ServletDispatcher)
will return "" (normally would return "/foo/bar.action", if the mapping
would be *.action).

I tried with JETTY and ORION, and while ORION will work with

<url-pattern>*</url-pattern>

(work means that getServletPath returns the 'correct' path: "/foo/bar")

JETTY doesn't accept such url-pattern. So I don't know which
container follows more closely the SPEC.

How can I anchieve my purpose in both JETTY & ORION?

I checked that when using url-pattern /* getServletPath() returns "",
but request.getPathInfo() returns "/foo/bar" which if used in the
following processing (instead of using what getServletPath() returns)
will find the action "bar" and call it, which is what I need.

So would it be possible to add the following lines to ServletDispatcher?

        if (actionPath.length()==0){
                actionPath = request.getPathInfo();
                servletPath = actionPath;
        }

Or is there another more elegant solution to this?

Thanks,
Fernando Martins




-------------------------------------------------------
This SF.net email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software. http://www.objectstore.net/sourceforge
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to