I've one master template which has the overall site layout frame: "/WEB-INF/jsp/common.jsp" I Quickly have another template that'll be generally employed for another quantity of pages concentrating on the same layout: "/WEB-INF/jsp/features/common.jsp"

The characteristics template essentially defines this content of attribute "content" from the "master" template.

I've attempted to resolve this the next way:

<definition name="product.common" template="/WEB-INF/jsp/common.jsp">
    <put-attribute name="content" value="/WEB-INF/jsp/features/common.jsp" />
</definition>
<definition name="features/index" extends="product.common">
    <put-attribute name="title" value="Features" />
    <put-attribute name="rightContent" value="/WEB-INF/jsp/features/index.jsp" />
</definition>

But this doesn't work. I recieve the next error message during my stack trace:

org.apache.tiles.template.NoSuchAttributeException: Attribute 'rightContent' not found.

However the features-template comes with the next:

<tiles:insertAttribute name="rightContent" />

Any ideas?

I you know what you'll need is nesting definitions. You could attempt something similar to this.

<definition name="features.common" template="/WEB-INF/jsp/features/common.jsp">
</definition>

<definition name="product.common" template="/WEB-INF/jsp/common.jsp">
    <put-attribute name="content" value="features.common" />
</definition>

<definition name="features/index" extends="product.common">
    <put-attribute name="title" value="Features" />
    <put-attribute name="rightContent" value="/WEB-INF/jsp/features/index.jsp" />
</definition>