Gérer des fichiers JavaScript et CSS avec Apache Tuiles

Je suis à la recherche d'une bonne façon de gérer vos ressources CSS et javascript à l'aide d'Apache Tuiles d'une manière similaire à ASP.NET MVC 4.

Dans ASP.NET MVC4 vous avez ContentBundles et ScriptBundles et vous pouvez simplement écrire

@Scripts.Render("~/bundles/jquery");

Il va insérer votre css/scripts avec toute la bonne syntaxe. Ensuite, pour le rendre encore mieux il y a @RenderSection("JavaScript", obligatoire:false) qui vous permet d'insérer du JavaScript dans la bonne inclure ordre avec elle être définie sur une vue.

@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>
}

Pour faire court en gros, je veux faire quelque chose comme cela dans Spring MVC à l'aide d'Apache Tuiles. Est-il même possible?

Ma première pensée et de la tentative de créer un "bundle" comme une définition dans les tuiles fichier de config, mais alors il doit y avoir des JSP code à insérer et créer de la syntaxe html correctement. Quelqu'un a déjà tenté ce avant ou a trouvé une bonne solution?

J'ai trouvé cet exemple à http://www.coderanch.com/how-to/java/TilesJavaScript mais il ne semble pas être syntaxiquement correct pour les Tuiles 3.

maître-modèle.jsp

">

Voici comment vous pouvez le faire pour de multiples fichiers js:

tiles-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>

Essentiellement, je veux un moyen propre à inclure tous mes JavaScript et CSS en utilisant Apache Carreaux semblable à la ASP.NET MVC méthode bundle. De cette façon, je ne suis pas avoir à coder en dur les liens dans chaque fichier JSP qui a besoin de quelque chose supplémentaire.

OriginalL'auteur greyfox | 2014-05-17