2015-05-12 10 views
0

Как эффективно использовать естественные шаблоны ThymeLeaf при использовании Tiles2 в качестве механизма шаблонов. У меня есть простое определение плитки:Spring MVC, Tiles2, ThymeLeaf и Natural Templating

<tiles-definitions> 
    <definition name="/**;layout:*" template="templates/{2}_layout"> 
    <put-attribute name="header" value="templates/header"/> 
    <put-attribute name="content" value="/{1}"/> 
    <put-attribute name="footer" value="templates/footer"/> 
    </definition> 
    ... 
</tiles-definitions> 

и мой макет

<html lang="pl" xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:th="http://www.thymeleaf.org" 
    xmlns:sec="http://www.springframework.org/security/tags" 
    xmlns:tiles="http://www.thymeleaf.org"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <link rel="stylesheet" type="text/css" th:href="@{~/css/bootstrap.min.css}" href="../../../css/bootstrap.min.css"/> 
    ... and many others 
</head> 
<body> 
    <div class="top-header" tiles:include="header">Header to include</div> 
    <div class="container-main" tiles:include="content">Content to include</div> 
    <div tiles:include="footer">Footer to include</div> 
</body> 

и простой content.html шаблон

<div id="main" class="panel panel-main"> 
    <div id="contents" class="panel-body"> 
     bla bla bla 
    </div> 
</div> 

У меня есть проблема в том, что: Если бы я попытался проверьте local.html локально, тогда он не будет похож на него, потому что я не определил <html> и <head> с определениями CSS и JS.

Если я добавил <html><head> теги, то во время выполнения у меня было много определений html (из шаблонов заголовка/содержимого/нижнего колонтитула) на результирующей странице!

Идеальное решение для меня может быть таким: Я хотел бы определить content.html с тегами <html><head>, полностью используя естественные шаблоны и проверки синтаксиса, а затем каким-то образом включим этот файл, но без этих тегов (только тело или div) Является ли это возможным?

+1

использование тимелеафа с тимелеатом макет диалекта. гораздо более чистый подход. –

+0

Я нашел это: http://blog.codeleak.pl/2013/11/thymeleaf-template-layouts-in-spring.html. Это похоже на очень хорошее, простое и элегантное решение. –

+0

@MarekRaszewski У вас не будет той же проблемы или вы уйдете от Tiles2? – MystyxMac

ответ

0

Вы можете использовать

<!-- /* --> 

и

<!--*/-->. 

Каждые теги внутри этих комментариев теги игнорирующих во время выполнения (они не будут отображаться в реальной странице).

<!--/*--> 
<html> 
    <head> 
     <title>Test</title> 
    </head> 
    <body> 
<!--*/--> 
     <div>...</div> 
<!--/*--> 
    <body> 
</html> 
<!--*/--> 

 Смежные вопросы

  • Нет связанных вопросов^_^