Frank, I hate to try to answer a question after Craig, but from my JSF newbie point of view, I didn't get an answer I'd want from his letter. So, here's my try to help answer your questions. Just keep in mind I'm re-reading (2nd time around) a JSF book so I'm no authority.
MyFaces, JSF actually, doesn't care about action mappings, like Struts does. When a url comes in which maps to JSF (or Myfaces) such as a *.faces URL, JSF looks for a file matching that url but ending in .jsp, not .faces. That's how /usecases.faces maps automatically to /usecases.jsp. Why does it do that? The mapping of *.faces allows MyFaces/JSF to do the JSF tricks listed in the jsp file which could include bean auto-population, page redirects, validations, navigations, callback functions, templates, etc. A tree is made of the JSF components from that page so further visits to that page don't require a rull re-parse of the page. In my opinion, JSF navigation seems to care more about the direction of where to navigate next than how to come into a page. You'll see loads of those 'where to next' ideas in the faces-config.xml file as 'navigation-rule' sections. A few useful tidbits of knowledge: 1. Everything JSF starts inside the f:view tags. 2. The *.faces don't have to map to *.jsp extension files. A servlet container configuration parameter allows you to specify the default extension to use so you could use something other than *.jsp for your actual files. You can also change your incoming *.faces URL mapping to *.html to hide the fact that you're using JavaServer Faces. 3. JSF can be sufficiently complicated to 'look at' if you haven't read a JSF tutorial or book so jumping into Shale could be even more confusing. Shale confuses me some and I've read a JSF book once (I'm on read #2 as I mentioned). 4. There are plenty of JSF tutorials at www.jsftutorials.net. (I've read a few of them, I'm reading about Facelets now - kind of a 'Shale Clay' alternative.) This includes a section on their front page entitled: Golden Collection for JSF Newbies. 5. navigation-rules got a little confusing for me when looking at JSF with Tiles, especially with Shale's Tiles mapper. I think it (Shale's Tile mapper) looks for a tile with a name very similar to the jsp name and if one isn't found, it skips tiles and looks for a regular jsp instead. Craig could comment on that if I'm wrong or off slightly but I think I just read about that last week. 6. In case you need it, myfaces is at http://myfaces.apache.org. Tomahawk if the name of their set of custom add-on components, which you don't need if you are trying out JSF. You can just use the MyFaces (non-Tomahawk stuff) implementation of JavaServer Faces. Regards, David -----Original Message----- From: Frank W. Zammetti [mailto:[EMAIL PROTECTED] Sent: Monday, August 22, 2005 12:53 AM To: Struts User Subject: [SHALE] Simple "getting started"-type question Hi everyone, I'm finally getting a little bit of time to look at Shale, with the intent of doing the Mailreader app under it as I offered to do a few weeks back... although I was thinking of writing a blog app instead since I wanted to re-do mine anyway, but that is neither here nor there :) I'm looking at the use cases app, as that seemed like the logical place to begin... there's quite a bit in there, it's a bit overwhelming to start, and, after just a few minutes of browsing, I have a question already :) Looking at index.jsp, I see a forward to usecases.faces. My question is, where is that mapping defined? It's obviously winding up at usecases.jsp, and I can see that .faces is mapped to FacesServlet in web.xml, so it's straight-forward to an extent, but I'm not seeing in the config files were something akin to a Struts path to /usecases is defined. I assumed it would be in faces-config.xml, but unless I'm really missing something, it's not (by the way, I *DO* assume I'm missing something there!). Thanks! -- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]