Thymeleaf library
Contents
Thymeleaf library allows you to render templates using the Thymeleaf template engine
To start using this library, add the following into your build.gradle
file:
dependencies {
include 'com.enonic.lib:lib-thymeleaf:2.0.0'
}
Usage
To use this library in your JavaScript code, it first needs to be required:
var thymeleafLib = require('/lib/thymeleaf');
Then, you will need to resolve your template:
var view = resolve('view/test.html');
Template:
<div>
<div data-th-each="fruit : ${fruits}">
Name:
<div data-th-text="${fruit.name}">Name</div>
Color:
<div data-th-text="${fruit.color}">Color</div>
</div>
</div>
All the variables used in the template/view must be gathered into a JSON object:
var model = {
fruits: [
{
name: 'Apple',
color: 'Red'
},
{
name: 'Pear',
color: 'Green'
}
]
};
Thymeleaf template mode might be set:
var options = { mode: 'HTML' }; // default mode
To process template:
var result = thymeleaf.render(view, model, options);
or simply:
var result = thymeleaf.render(view, model);
Output:
<div>
<div>
Name:
<div>Apple</div>
Color:
<div>Red</div>
</div>
<div>
Name:
<div>Pear</div>
Color:
<div>Green</div>
</div>
</div>
API
The following function is defined in this library.
render
Renders a thymeleaf template .
Parameters
-
view
(object) Location of the template. Use resolve(..) to resolve a template. -
model
(object) Model used to render the template. -
options
(object) Optional Template mode. HTML is used by default. Valid options are: HTML, XML, TEXT, JAVASCRIPT, CSS and RAW.