2014-09-17 1 views
0

Я использую диалект тимелеафа.Как вы переопределяете параметр декоратора в подшаблоне с использованием диалогового окна Layout Tyymeleaf

У меня есть «defaultLayout» шаблон где название элемента определяется следующим образом:

<title layout:title-pattern="$DECORATOR_TITLE" 
      th:text="${pageTitle}">Page Title</title> 

, где pageTitle переменная передается от шаблона к югу («home.html»), как это:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:th="http://www.thymeleaf.org" 
    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" 
    layout:decorator="defaultLayout" 
    th:with="pageTitle='Home'"> 

Пока все хорошо. Однако теперь я хочу «расширить» шаблон «home.html» («foo.html»). Например:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:th="http://www.thymeleaf.org" 
    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" 
    layout:decorator="home" 
    th:with="pageTitle='Foo'"> 

Проблема заключается в том, что, когда «foo.html» оказывается, он получает название страницы «Home» вместо «Foo».

Здесь Тимелаф виноват? Не следует ли заменить свойство «pageTitle» на «Foo»? Есть ли лучший способ сделать это, что я пропустил?

ответ

0

Все, что вам нужно сделать, это следующее

В home.html Измените html часть к:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:th="http://www.thymeleaf.org" 
    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" 
    layout:decorator="defaultLayout" 
    th:with="${null != pageTitle ? pageTitle : 'Home'}">