Nevermind, syntax errors on my part.  That does work.

Gregg

On 4/11/06, Gregg Bolinger <[EMAIL PROTECTED]> wrote:
>
> Ok, and along with that question, what would be the correct way of doing
> the following:
>
>
> <component jsfid="baseLayout" extends="clay" id="base">
>         <attributes>
>             <set name="clayJsfid" value="/templates/layout.html" />
>         </attributes>
>         <symbols>
>             <set name="@headerContent" value="/pages/header.html"/>
>         </symbols>
>     </component>
>
>     <component jsfid="welcomePage" extends="baseLayout" id="welcome">
>         <attributes>
>             <set name="clayJsfid" value="/templates/layout.html" />
>         </attributes>
>         <symbols>
>             <set name="@title" value="Welcome" />
>             <set name="@bodyContent" value="/pages/welcomeBody.html" />
>         </symbols>
>     </component>
>
>
>     <component jsfid="baseLayout" extends="clay" id="hello">
>         <attributes>
>             <set name="clayJsfid" value="/templates/layout.html" />
>         </attributes>
>         <symbols>
>             <set name="@title" value="Hello World" />
>             <set name="@bodyContent" value="/pages/helloBody.html" />
>         </symbols>
>     </component>
>
> I ask, because the above does not work.
>
> Thanks.
>
> Gregg
>
>
> On 4/11/06, Gregg Bolinger <[EMAIL PROTECTED]> wrote:
> >
> > Ok, great so far. I got soemthing working.  The problem was not having
> > that welcome.html file that pulled everything together.  And that leads
> > me to my next question(s).
> >
> > Tell me if this is a correct statement.
> >
> > So for every page I have I'll need a page that is the glue (welcome.html)
> > as well as an html page that is the body for said page (welcomeBody.html).
> > Assuming of course I am using the same header/footer/sidebar, etc and the
> > only thing changing is the body.  So I might also have
> >
> > login.html - loginBody.html
> > register.html - registerBody.html
> >
> > If that is a true statement, is there any way to get rid of that glue
> > page?  Is there anyway to tell Clay/Shale to just use the layout.htmland 
> > plug in the "components" I need somehow dependent on the URL or
> > navigation?
> >
> > So rather than having loginBody.html maybe I just have login.html which
> > just contains the body I need.  In the above scenerio it would be
> > loginBody.  And the system knows that when I request login.html go grab
> > layout.html and plug login.html into the correct spot?  Am I making any
> > since?
> >
> > Basically, I don't understand the reason, beyond the glue aspect, of
> > having a page whose contents don't get rendered at all.
> >
> > Thanks.
> >
> > Gregg
> >
> >
> > On 4/10/06, Gary VanMatre < [EMAIL PROTECTED]> wrote:
> > >
> > > >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