Ich verwende Kacheln in Struts2 Anwendung. Beim Definieren des Basislayouts habe ich ein Attribut "scriptFile" definiert.Wie überprüft man das Vorhandensein von Kacheln Attribut vor dem Einfügen in die Seite
<definition name="baseLayout" template="/application/base-layout.jsp" >
...
</definition>
<definition name="custom.tiles" extends="baseLayout">
<put-attribute name="scriptFile" value="js/custom-script.js"></put-attribute>
</definition>
Wenn Entwickler „SKRIPT_DATEI“ in Kacheln Definitionsdatei bietet „tiles.xml“, sollte diese Skriptdatei folgende Zeile enthalten sein mit
<script language="javascript" src="<tiles:insertAttribute name="scriptFile"></tiles:insertAttribute>"></script>
Aber wenn SKRIPT_DATEI Attribut nicht definiert ist, diese Zeile muss übersprungen werden.
Wie kann ich das Vorhandensein des Attributs "scriptFile" in Kacheln prüfen? Gibt es einen besseren Weg, dieses Ding zu machen?
Welche Version von Kacheln verwenden Sie? Woher kommt das scriptFile-Attribut? Ist es etwas, das zur Laufzeit dynamisch ist?Wenn dies nur Kacheldefinitionen sind, sollten Sie mehrere "Kopf" -Templates erstellen und die entsprechende Kopfzeile einfügen. Wenn Sie einen Kopf verwenden, für den Sie eine Skriptdatei benötigen, müssen Sie eine Skriptdatei bereitstellen. Wenn eine struts2-Aktion eine ID erfordert, um ihre Aufgabe zu erledigen, können Sie nicht sehr gut eine ID senden und erwarten, dass sie funktioniert (dasselbe gilt für Kacheln). Wenn dies dynamischer Inhalt ist, gibt es andere Möglichkeiten. – Quaternion
Version = Kacheln 2.0.6. Das Attribut stammt aus der Datei "tiles.xml" und ist nicht dynamisch. Layout besteht aus Seitenüberschrift, Menü, Inhalt und Fußzeile. Nur Inhalte werden für jede Seite geändert. Wenn der Inhalt JavaScript benötigt, stellt der Entwickler diese JS-Datei bereit und definiert sie in der Datei "tiles.xml". Diese Javascript-Datei wird dann in den Seitenkopf eingefügt. –