Могу ли я получить атрибуты тела (а не дочерние элементы) в моем декораторе sitemesh/freemarker?
Мы используем страницы со следующим примером содержания:
<html>
<head>
<title>Page Title</title>
<!-- (page-specific JS and styles) -->
</head>
<body>
<h1>Page Title</h1>
<!-- (rest of page content) -->
</body>
</html>
А затем с помощью SiteMesh + Freemarker мы их украшаем примерно так:
<!doctype html>
<html>
<head>
<title><#if title?? && title?has_content>${title}</#if></title>
<!-- (global styles and scripts)-->
${head}
</head>
<body>
<!-- (Header elements) -->
${body}
<!-- (Footer elements) -->
</body>
</html>
Мне интересно, есть ли хороший способ распространять какие-либо дополнительные атрибуты на уровне страниц <body>
элемент декоратора <body>
элемент, так что они не просто выброшены?
1 ответ
Решение
Хорошо, я в конце концов нашел ответ сам после некоторых экспериментов:D Атрибуты тела входят в page.properties["body.attrName"]
, который вы можете использовать в моем случае так:
<#if page.properties["body.class"]??>
<body class="${page.properties["body.class"]}">
<#else>
<body>
</#if>