Nesting Apache Tiles Template
Frage
So fand ich diese: http: //tiles.apache. org / Rahmen / tutorial / advanced / Nesting-extending.html
Hier ist das Beispiel:
<definition name="myapp.homepage" template="/layouts/classic.jsp">
<put-attribute name="title" value="Tiles tutorial homepage" />
<put-attribute name="header" value="/tiles/banner.jsp" />
<put-attribute name="menu" value="/tiles/common_menu.jsp" />
<put-attribute name="body">
<definition template="/layouts/three_rows.jsp">
<put-attribute name="one" value="/tiles/headlines.jsp" />
<put-attribute name="two" value="/tiles/topics.jsp" />
<put-attribute name="one" value="/tiles/comments.jsp" />
</definition>
</put-attribute>
<put-attribute name="footer" value="/tiles/credits.jsp" />
</definition>
So definierte ich dies:
<definition name="mgmt.base.layout" extends="base.layout">
<put-attribute name="body">
<definition template="/WEB-INF/mgmt/config/mgmtBody.jsp"/>
<put-attribute name="adminLeft" value="/WEB-INF/mgmt/config/left.jsp"/>
<put-attribute name="adminRight" value="/tiles/blank.html"/>
</definition>
</put-attribute>
</definition>
Aber das Witzige ist, dass auch ihre eigene Dokumentation ist falsch:
2009-05-12 11: 20: 56.088 [main] ERROR - org.apache.commons.digester.Digester.error (Digester.java:1635): Parse Fehler in Zeile 17 Spalte 68: Attribut " Name“ist erforderlich und muss für Elementtyp angegeben werden‚Definition‘. org.xml.sax.SAXParseException: Attribut "name" ist erforderlich und muss für Elementtyp "Definition" angegeben werden
.Auch wenn ich einen Namen für sie zu definieren, gibt es nach wie vor den folgenden Fehler:
2009-05-12 11: 35: 31.818 [Main] ERROR - org.apache.commons.digester.Digester.error (Digester.java:1635): Einlesefehler in Zeile 21 Spalte 19: Der Inhalt von Elementtyp „put-Attribut“ muss „null“ entsprechen. org.xml.sax.SAXParseException. Für den Inhalt des Elementtypen "put-Attribut" muss "Null" entspricht
Was ist das bedeuten? !!!!
Lösung 2
Das Schema erfordert, dass Sie verwenden, die Put-Attribut ein Blattknoten ist, das heißt nicht untergeordnete Elemente enthalten - so können Sie das nicht tun. Finden Sie heraus, ob eine neuere Version des Schemas (in Fliesen docs oder Beispiele sein muss) ermöglicht verschachtelte Fliesen Vorlagen.
-Kalle
Also im Grunde ich eine ältere Version von Fliesen verwenden und neue Version Schema mit: Hier ist die Syntax für älteres verschachteltes Schema: http://tiles.apache.org/2.0/framework/ tutorial / advanced / Nesting-extending.html
Andere Tipps
Ändern der DTD Version 2.1 mein Problem gelöst!