Ошибка Tiles2 с каскадным атрибутом в теге put-attribute - PullRequest
3 голосов
/ 28 октября 2010

Я просто не знаю, почему я получаю эту ошибку:

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".

tile.xml выглядит примерно так (только соответствующие части):

<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>

Я тоже пытался установить атрибут value, но безрезультатно. Каскадный атрибут, который я нашел в документации здесь

Я использую netBeans 6.9 со стойками 2.1 и тайлами 2.0.6. Идея не знает об атрибуте cascade в подсказках кода.

Ответы [ 3 ]

10 голосов
/ 02 декабря 2010

Вы используете Tiles 2.0.6, но "каскад" есть только в 2.1 DTD.

7 голосов
/ 15 июня 2011

Та же проблема здесь. Я определяю местоположение dtd как http://tiles.apache.org/dtds/tiles-config_2_1.dtd. Моя IDE правильно распознает его и разрешает каскадный атрибут. Но после запуска отобразится то же сообщение об ошибке.

0 голосов
/ 29 октября 2010

Я думаю, что проблема возникает из-за того, что вы расширяете плитку customerBaseLayout, и плитки не знают, хотите ли вы использовать по умолчанию значения, которые вы задали для этого определения.Например, вы поместили атрибут title, но так как вы не установили cascade = "true", он недоступен в userBaseLayout.Добавьте в customerBaseLayout cascade = "true" атрибуты, которые вы хотите иметь в userBaseLayout.

...