Sto usando le tessere nell'applicazione struts2. Durante la definizione del layout di base ho definito un attributo "scriptFile".Come verificare l'esistenza dell'attributo tile prima di inserirlo nella pagina
<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>
Se sviluppatore fornisce "FileScript" nel file di definizione piastrelle, "tiles.xml", questo file di script deve essere incluso utilizzando seguente riga
<script language="javascript" src="<tiles:insertAttribute name="scriptFile"></tiles:insertAttribute>"></script>
Ma se l'attributo FileScript non è definito, questa linea deve essere saltato.
Come è possibile verificare l'esistenza dell'attributo "scriptFile" nelle tile. C'è un modo migliore per fare questa cosa?
Quale versione di piastrelle stai usando? Da dove viene l'attributo scriptFile? È qualcosa che è dinamico in fase di esecuzione?Se si tratta solo di definizioni di tile, è necessario creare diversi modelli "head" e includere l'intestazione appropriata, se si utilizza un head che richiede di fornire uno scriptFile allora sarà necessario fornire un file di script. Se un'azione di tipo struts2 richiede un id per fare il suo lavoro, non si può benissimo non inviare un id e aspettarsi che funzioni (lo stesso vale per le tessere). Se questo è contenuto dinamico ci sono altre possibilità. – Quaternion
versione = tessere 2.0.6. l'attributo deriva da tiles.xml e non è dinamico. Il layout è costituito da Intestazione pagina, Menu, Contenuto e piè di pagina. solo i contenuti saranno modificati per ogni pagina. Se il contenuto richiede javascript, lo sviluppatore fornirà quel file JS e lo definirà in tiles.xml. Questo file javascript verrà quindi incluso nell'intestazione della pagina. –