On Thu, Jan 02, 2003 at 09:15:44PM +0100, Rickard Öberg wrote: > Chris Nokleberg wrote: > >On Thu, Jan 02, 2003 at 08:00:41PM +0100, Rickard Öberg wrote: > > > >But one of the reasons to get rid of .action is that it exposes the > >implementation. ".jsp" does the same thing! > > Absolutely. But at least XWork would be hidden. > > >Why not allow for arbitrary > >URLs, even when you want to use JSP as your view technology? Then it can > >just become another templating language. Intercepting calls to ".jsp" > >pages is not very Model 2. Maybe Model 1.5. > > AFAICT there's no expressive difference between what I suggested and > using the .action way, except that the former can only map a JSP to one > action. > > Can you explain how is it "not very Model 2"?
We are miscommunicating, I'm sure. From his responses I think Jason Carreira is on the same wavelength as me, though, if it helps. Anyway, here goes: Model 1: a) user requests "/foo/bar.jsp" b) request goes to servlet container jsp handler, runs bar.jsp c) bar.jsp uses scriptlets, beans to run business logic Model 2 (jsp view) a) user requests "/foo/bar" b) request is mapped to a servlet Bar c) servlet Bar runs business logic, sticks stuff in context d) servlet forwards to "/some/arbitrary.jsp" e) "/some/arbitrary.jsp" executed by container Model 2 (velocity, etc.) a-c) same d) servlet spits out result of velocity template What I hear you proposing: a) user requests "/foo/bar.jsp" <-- Note .jsp b) request is mapped by xwork filter controller to action Bar c) action Bar runs business logic, returns "success" result d) "success" result mapped to "LetItPassThrough" view-string e) view-string looked up via view factory to return LetItPassThrough View f) LetItPassThrough View directs controller to let the servlet engine handle the request as normal, or something similar g) "/foo/bar.jsp" executed by container What I propose (jsp view) a) user requests "/foo/bar" <-- Note NO .jsp b) request is mapped by xwork filter controller to action Bar c) action Bar runs business logic, returns "success" result d) "success" result mapped to "/some/arbitrary.jsp" view-string e) view-string looked up via view factory to return JSP View f) JSP View uses request dispatcher to forward to "/some/arbitrary.jsp" What I propose (velocity, etc.) a-c) same d) "success" result mapped to "/some/arbitrary.vel" view-string e) view-string looked up via view factory to return Velocity view f) Velocity View spits out result of "/some/arbitrary.vel" What you suggest has one major thing in common with "Model 1", that is that the original request is to a .jsp page, instead of an arbitrary action URL. This is why I dubbed it Model 1.5. I think there are advantages to really treating .jsp pages just as templates. It will keep all view technologies on the same playing field and I imagine would simplify the code too. > >The problem is that you have to then allow requests directly to .jsp > >files. What happens when you want to switch to velocity? > > If you have been using .jsp and want to switch to Velocity without > breaking URL's then map the Velocity-servlet to .jsp and use that > extension for the templates. > > Or, map JSP's to .html and use that for Velocity templates too in order > to hide both completely. What if you have static html pages too? It becomes to hackified this way. Better to let what view gets used be driven *completely* by the action mapping configuration, and not at all by web.xml servlet mappings. -Chris ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork