Sto cercando un buon modo per gestire le risorse CSS e JS usando Apache Tiles in modo simile ad ASP.NET MVC 4.Gestione JavaScript e CSS con Apache Tiles
In ASP.NET MVC4 avete ContentBundles e ScriptBundles e puoi semplicemente scrivere
@ Scripts.Render ("~/bundles/jquery");
Inserirà i tuoi css/script con la sintassi corretta. Quindi per renderlo ancora migliore c'è @RenderSection ("JavaScript", richiesto: false) che ti permette di inserire JavaScript nell'ordine di inclusione corretto con esso definito in una vista in questo modo.
@section JavaScript
{
<script type="text/javascript" src="@Url.Content("/Scripts/jquery.tablesorter.min.js")"></script>
<script type="text/javascript" src="@Url.Content("/Scripts/Custom/Roster.js")"></script>
}
Per fare questo breve voglio sostanzialmente fare qualcosa di simile in Spring MVC usando Apache Tiles. È possibile?
Il mio primo pensiero e tentativo è stato quello di creare un "pacchetto" come definizione nel file di configurazione delle tessere ma poi ci deve essere del codice JSP per inserire e creare correttamente la sintassi html. Qualcuno ha mai provato prima o trovato una buona soluzione?
Ho trovato questo esempio a http://www.coderanch.com/how-to/java/TilesJavaScript, ma non sembra essere sintatticamente corretto per piastrelle 3.
master-layout.jsp
">
Ecco come si' d farlo per più file js:
tile-defs.xml
<!-- Child page Definition -->
<definition name="child.page" extends="master.page">
<put name="title" value="Child Page" />
<put name="jsfile" value="app.childpage.jsfiles.tile" />
</definition>
<!-- JS Files Definition tile -->
<definition name="app.childpage.jsfiles.tile" path="/layouts/jslayout.jsp">
<putList name="jsfilesList">
<add value="/config/childpage_jsfile1.js"/>
<add value="/config/childpage_jsfile2.js"/>
<add value="/config/childpage_jsfile3.js"/>
</putList>
</definition>
jslayout.jsp
<tiles:useAttribute id="list" name="jsfilesList" classname="java.util.List" />
<c:forEach var="jsfileName" items="${list}">
<script src="<%=request.getContextPath()%><c:out value='${jsfileName}' />"></script>
</c:forEach>
In sostanza voglio un modo pulito per includere tutta la mia JavaScript e CSS utilizzando Apache Tiles simile al fascio ASP.NET MVC metodo. In questo modo non ho bisogno di codificare i link in ogni singolo file JSP che ha bisogno di qualcosa di aggiuntivo.
Grazie per pubblicare la tua soluzione! Esattamente quello che stavo cercando. – Andy0708
Soluzione piacevole e pulita.Grazie – Genaut
perché definiamo le dipendenze jsp nel file di configurazione delle tessere? Questo sarebbe rielaborato per lo sviluppatore dal momento che il progettista dichiara tali dipendenze nel file html/jsp. – Ankit