>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

Reply via email to