tags:

views:

18

answers:

1

I just don't know why i get this error:

2010-10-28 16:32:29,925 ERROR [ache.commons.digester.Digester.error          :1635] - Parse Error at line 45 column 56: Attribute "cascade" must be declared for element type "put-attribute".
org.xml.sax.SAXParseException: Attribute "cascade" must be declared for element type "put-attribute".

tiles.xml looks something like this (only relevant parts):

<tiles-definitions>
<definition name="customerBaseLayout" template="/pages/customer/templates/baseLayout.jsp">
    <put-attribute name="title" value="Pannello Operatore"/>
    <put-attribute name="header" value="/pages/customer/templates/header.jsp"/>
    <put-attribute name="footer" value="/pages/customer/templates/footer.jsp"/>
</definition>
<definition name="userBaseLayout" extends="customerBaseLayout">
    <put-attribute name="header" value="/pages/guest/templates/user/header.jsp"/>

    <put-attribute name="sidebar" cascade="true" />
</definition>

I did try setting the value attribute too but no use. The cascade attr I found in the documentation here

I am using netBeans 6.9 with struts 2.1 and tiles 2.0.6 The ide does not know about the cascade attribute in code hints.

A: 

I think the problem comes because you extend the tile customerBaseLayout and tiles doesn't know if you want to use as default the values you put for this definition. For example you have put title attribute but as you haven't set cascade="true" it is not available in userBaseLayout. Add in customerBaseLayout cascade="true" to the attributes you want to have in userBaseLayout.

Javi