Hello All:

This is the first time I am posting to this mailing list.
If I have not followed any etiquettes properly, please forgive me.

Here's my question:
I just updated from Struts 1.1-b2 to Struts 1.1-rc1.
I have an Web Application which has two Struts Applications (or Modules
as they are now called).
When I make an invocation on a resource in the sub-module, I get an
"Invalid Path Requested" Error.

My web.xml pertaining to Struts Configuration looks like this:

                <init-param>
                        <param-name>config</param-name>
        
<param-value>/WEB-INF/struts-config.xml</param-value>
                </init-param>
                <init-param>
                        <param-name>config/pc</param-name>
        
<param-value>/WEB-INF/struts-pc-config.xml</param-value>
                </init-param>


The root context of the Web Application is "/mc".
So, when a request "/mc/pc/user" is received by Struts, it should figure
out that it is meant for the Struts Sub-Module "/pc". However, it does
not. This used to work in 1.1.-b2.

When I look in the Struts source code where this is done, this is what I
found:

    public static String getModuleName(String matchPath, ServletContext
context) {
        String prefix = ""; 
        String prefixes[] = getModulePrefixes(context); 
        int lastSlash = 0; 

        while (prefix.equals("") && ((lastSlash =
matchPath.lastIndexOf("/")) > 0)) {
            matchPath = matchPath.substring(0, lastSlash);
            for (int i = 0; i < prefixes.length; i++) {
                if (matchPath.equals(prefixes[i])) {
                    prefix = prefixes[i];
                    break;
                }
            }
        }
        return prefix;
    }

In the above, the argument matchPath is passed in as "/pc" after parsing
the request's servlet path.
But, the above algorithm will always return prefix="", is it not?

Is this a bug ?

Has anyone tried sub-applications with 1.1-rc1?

Please help.
Thanks.
Viji Sarathy


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to