2016-10-20 4 views
0

enter image description hereWie erreicht man dieses Layout mit Apache Kacheln 2?

Probleme beim Erstellen eines solchen Layouts. Controller lösen Dash-Inhalte aus, und das Layout sollte erstellt werden. Jetzt habe ich diese Definitionen, und ich bin blockiert.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE tiles-definitions PUBLIC 
     "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN" 
     "http://tiles.apache.org/dtds/tiles-config_2_0.dtd"> 

<tiles-definitions> 

    <definition name="masterLayout" template="/WEB-INF/jsp/layout/master.jsp"> 
     <put-attribute name="headerInclude" value="" /> 
     <put-attribute name="body" value="" /> 
     <put-attribute name="footerInclude" value="" /> 
    </definition> 

    <definition name="dashboardLayout" extends="masterLayout"> 
     <put-attribute name="body" value="dashboardLayoutBody" /> 
    </definition> 

    <definition name="dashboardLayoutBody" template="/WEB-INF/jsp/layout/dashboard.jsp"> 
     <put-attribute name="menu" value="/WEB-INF/jsp/parts/menu.jsp" /> 
     <put-attribute name="body"/> 
    </definition> 

    <!-- this page is triggered --> 
    <definition name="login_page" extends="masterLayout"> 
     <put-attribute name="body" value="/WEB-INF/jsp/layout/login.jsp" /> 
    </definition> 

    <!-- this page is triggered -->  
    <definition name="some_page" extends="dashboardLayout"> 
     <put-attribute name="body" value="/WEB-INF/jsp/content/admin_groups/supervisor.jsp"/> 
    </definition> 

</tiles-definitions> 

Masterlayout hat diesen Inhalt

<!DOCTYPE html> 
<html> 
<head> 
    <!-- Master css, js, meta, tags additions .... --> 
    <tiles:insertAttribute name="headerInclude"/> 
</head> 
<body> 
    <tiles:insertAttribute name="body"/> 

    <!-- Master css, js, meta, tags additions .... --> 
    <tiles:insertAttribute name="footerInclude"/> 
</body> 
</html> 

ich irgendwie Vorlage erweitern müssen und auch eine eigene Vorlage haben, Menü sind dort

Antwort

0

Als ein Neuling Templat jsp, I didn‘ t realisierte, dass ich jsp:include parallel mit Aapache Tiles verwenden kann, die das Problem löste.

Das Hauptproblem war, dass ich das Menü nicht nur einmal in das Dashboard-Layout aufnehmen und überall verwenden konnte.

Nur Kacheln verwenden, gibt es cascade Attribut auf einem put-attribute Tag, die das in anderen Attributen auch verwenden können.

Beachten Sie, dass cascade muss DOCTYPE tiles-definition mindestens Version 2.1

<!DOCTYPE tiles-definitions PUBLIC 
     "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN" 
     "http://tiles.apache.org/dtds/tiles-config_2_1.dtd"> 
Verwandte Themen