>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