3

なぜこのエラーが発生するのかわかりません:

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 は次のようになります (関連する部分のみ)。

<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 属性も設定しようとしましたが、役に立ちませんでした。ここのドキュメントで見つけたカスケード属性

struts 2.1 および tiles 2.0.6 で netBeans 6.9 を使用しています。ide はコードヒントのカスケード属性を認識しません。

4

3 に答える 3

10

Tiles 2.0.6 を使用していますが、「カスケード」は 2.1 DTD のみです。

于 2010-12-02T12:57:33.857 に答える
7

ここで同じ問題。dtd の場所をhttp://tiles.apache.org/dtds/tiles-config_2_1.dtdとして指定します。私のIDEはそれを正しく認識し、カスケード属性を許可します。ただし、実行すると、同じエラーメッセージが表示されます。

于 2011-06-15T15:58:54.867 に答える
0

タイル customerBaseLayout を拡張し、タイルがこの定義に設定した値をデフォルトとして使用するかどうかわからないため、問題が発生すると思います。たとえば、title 属性を配置しましたが、cascade="true" を設定していないため、userBaseLayout では使用できません。userBaseLayout に含める属性に、customerBaseLayout cascade="true" を追加します。

于 2010-10-29T09:27:58.137 に答える