2007/6/4, Gert Vanthienen <[EMAIL PROTECTED]>:
I have created a tiles.xml file to define (see below)
- template.webshop, which insert a two-column body (navigation and
content) in a JSP page
- webshop.home uses template.webshop and fills in the navigation and
content attributes

However, Tiles complains about "Attribute 'content' not found" when
showing the webshop.home definition.  Why?  Can't you insert a page
which contains <tiles:insertAttribute /> tags itself?

JSP pages used in attribute are never used as templates! Probably you
wanted to fill "navigation" and "content" attributes of
"two_column_body.jsp" and not of "basic.jsp".

    <definition name="template.webshop" templates="/templates/basic.jsp">
        <put-attribute name="header"
value="/templates/shopping_header.jsp"/>
        <put-attribute name="body" value="/templates/two_column_body.jsp"/>
    </definition>

    <definition name="webshop.home" extends="template.webshop">
        <put-attribute name="navigation"
value="/templates/navigation_collapsed.jsp"/>
        <put-attribute name="content" value="/home.jsp" />
    </definition>

Change it this way:

    <definition name="template.webshop" templates="/templates/basic.jsp">
        <put-attribute name="header"
value="/templates/shopping_header.jsp"/>
    </definition>

    <definition name="webshop.home.body"
templates="/templates/two_column_body.jsp">
        <put-attribute name="navigation"
value="/templates/navigation_collapsed.jsp"/>
        <put-attribute name="content" value="/home.jsp" />
    </definition>

    <definition name="webshop.home" extends="template.webshop">
        <put-attribute name="body"
value="webshop.home.body"/>
    </definition>

HTH
Antonio

Reply via email to