>Gary, I appreciate the information. Ok, here is what I have and it is not >working. Bear with me, I am going to post the bulk of my files, though the= >y >are quite short. > > >[web.xml]
I didn't seen anything that didn't look correct in the web.xml snippet you provided. One thing to check is the chains-config.xml. If you are using the ContextRelativePathFilter to prevent direct access to resources, make sure that "/S*\.html" is added to the includes attribute list. >[clay-config.xml] ><view> > > <component jsfid=3D"baseLayout" extends=3D"clay" id=3D"base"> > <attributes> > <set name=3D"clayJsfid" value=3D"/templates/layout.html" /> > </attributes> > <symbols> > <set name=3D"title" value=3D"Hello World" /> > <set name=3D"bodyContent" value=3D"/pages/welcome.html" /> > </symbols> > </component> > ></view> > >[clay-symbols-config.xml] ><view> > > <component jsfid=3D"username" extends=3D"inputText" id=3D"username"> > <attributes> > <set name=3D"value" value=3D"#{welcomeBean.username}"/> > <set name=3D"size" value=3D"20"/> > <set name=3D"maxlength" value=3D"30"/> > <set name=3D"required" value=3D"true"/> > <set name=3D"immediate" value=3D"true"/> > </attributes> > </component> > > <component jsfid=3D"password" extends=3D"inputSecret" id=3D"password"> > <attributes> > <set name=3D"value" value=3D"#{welcomeBean.username}"/> > <set name=3D"size" value=3D"20"/> > <set name=3D"maxlength" value=3D"30"/> > <set name=3D"required" value=3D"true"/> > <set name=3D"immediate" value=3D"true"/> > </attributes> > </component> > ></view> > >[layout.html] ><html> ><head> > <title> > Test > </title> > ></head> ><body> ><table width=3D"100%" cellpadding=3D"2" cellspacing=3D"0" border=3D"1"> > <tr> > <td> > <span jsfid=3D"clay" clayJsfid=3D"@bodyContent" >allowBody=3D"false">Body Content</span>Body Content > </td> > </tr> ></table> ></body> ></html> > >[welcome.html] ><table> > <tr> > <td>Username</td> > <td><input jsfid=3D"username" type=3D"text"/></td> > </tr> > <tr> > <td>Password</td> > <td><input jsfid=3D"password" type=3D"password"/></td> > </tr> ></table> > When you are using clay full html views exclusively, the entry point to the page needs to be a html file. This means that you don't have a pseudo page definition like in tiles. You can do this sort of thing with clay's full XML views as the page entry point usecase symbols example (page1 & page2). What you need in your example is for the welcome.html page to be a generic entry point that pulls a layout in and overrides the body using a symbol (the page3.html symbols use cases example). So in your example you might want to call the welcome.html template welcomeBody.html. And, then add a welcome.html entry point template that pulls it all togather. welcome.html example: <html jsfid="baseLayout" bodyContent="/welcomeBody.html" allowBody="false"> <head><title>Mock Header</title></head> <body>The entire document is replaced by the layout.</body> </html> The bodyContent attribute in the html node becomes a symbol that overrides the @bodyContent in the layout. >And when I go to http//localhost:8080/test/welcome.html I get a 500, page >cannot be found [welcome.html]. I have it under the web root pages dir and >I have layout.html under templates. Looking for suggestions one what I have >done wrong. The 500 response code indicates that there was a server error. Check the server logs for more information on the exception. > >Thanks. > >Gregg Gary