> -----Original Message-----
> From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
> Struts currently does not know how to reliably compute
> URLs for things like <html:form> in the face of more 
> than one mapping.

OK.

> A subtle point needs to be remembered -- from the client 
> viewpoint, the URL you *submit* to (i.e. the action) is 
> what shows in the Location bar on a browser.  Since the 
> Action that is invoked can return an ActionForward to
> *any* page, the same URL can literally display anything.
>
> This applies to any scenario that uses 
> RequestDispatcher.forward(), not just to Struts.

Right.  The reporting folks unfortunately have always attached--and continue
to attach--great significance to said URL.  We have grumbled and gotten
around this problem by logging the page that is forwarded to as the request
processing completes (in processActionForward() if I remember correctly).
Not pretty, but satisfies the twin demons of architectural correctness on
the one hand (what you are espousing here and what I agree with) and
but-we've-already-firmed-up-the-URLs-and-this-is-how-it's-always-worked
reporting requirements on the other.

> More fundamentally, then, I would contend that the absolute 
> value of a URL
> is totally meaningless in a web application based on an MVC 
> architecture
> that uses RD.forward() the way Struts uses it.

I agree wholesale with you.  That does not change the fact that
unfortunately old habits die hard, especially where reporting and URL
analysis is concerned.  :-(

> Web Applications != Web Sites

Agreed.

> There is not going to be a useful workaround for this -- it's 
> fundamental
> to the nature of the architecture.

OK.  So not even an extra optional attribute on the form tag somewhere ("Use
servletPath X instead of servletPath Y"), bearing in mind the limitations of
our current reporting requirements?  Is my company unique in trying to do
things this way?

Thanks for your time and help.

Laird

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

Reply via email to