forked from thymeleaf/thymeleaf.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
executable file
·218 lines (175 loc) · 8.27 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Thymeleaf: java XML/XHTML/HTML5 template engine</title>
<link rel="stylesheet" type="text/css" media="all" href="css/thymeleaf.css" />
<link rel="shortcut icon" href="http://www.thymeleaf.org/favicon.ico" />
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{lang:'en', parsetags:'explicit'}
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1276954-9']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript" src="sh/scripts/shCore.js"></script>
<script type="text/javascript" src="sh/scripts/shBrushXml.js"></script>
<script type="text/javascript" src="sh/scripts/shBrushJava.js"></script>
<link href="sh/styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="sh/styles/shThemeThymeleaf.css" rel="stylesheet" type="text/css" />
</head>
<body lang="en" dir="ltr">
<div id="page">
<div id="menu">
<ul>
<li><a href="index.html" title="Home">Home</a></li>
<li><a href="features.html" title="Features">Features</a></li>
<li><a href="download.html" title="Download">Download</a></li>
<li><a href="documentation.html" title="Documentation">Documentation</a></li>
<li><a href="ecosystem.html" title="Ecosystem">Ecosystem</a></li>
<li><a href="http://forum.thymeleaf.org" title="User Forum">User Forum</a></li>
<li><a href="issuetracking.html" title="Issue Tracking">Issue Tracking</a></li>
</ul>
</div>
<div id="header">
<a href="index.html" title="Thymeleaf home"><img src="images/thymeleaflogonameverysmall.png" class="logo" alt="Thymeleaf Template Engine"/></a>
</div>
<div id="breadcrumb">
<a href="index.html">thymeleaf</a>
::
<span class="current">home</span>
</div>
<div id="content">
<p class="notice">
Do you want to know <a href="whoisusingthymeleaf.html"><strong>Who is using Thymeleaf</strong></a>? have a look if you
want to learn about cool people using the coolest template engine!<br />
And if your company or public project uses Thymeleaf and would like to be listed there, just <a href="team.html">drop us a line</a>!
</p>
<p>
<i>13 May 2014</i>: <strong>Thymeleaf 2.1.3</strong> has been released. This is a bufixing release
that works as a drop-in replacement for previous 2.1.x versions. Note that new versions of the
<em>thymeleaf-testing</em> and <em>thymeleaf-extras-conditionalcomments</em> libraries have also
been released.
Have a look at the release notes at the
<a href="http://forum.thymeleaf.org/Thymeleaf-2-1-3-JUST-PUBLISHED-td4027886.html">thymeleaf forums</a>
for more info.
</p>
<p>
<i>01 May 2014</i>: We have a new article!
<a href="springmvcaccessdata.html"><strong>Spring MVC + Thymeleaf: how to access data from
templates</strong></a>, by Rafał Borowiec. This article explains the different
possibilities for allowing a Thymeleaf template to use data provided by the controller layer,
session, request parameters, etc. in a Spring MVC application. <a href="springmvcaccessdata.html">Check it out!</a>
</p>
<h2>What is Thymeleaf?</h2>
<p>
Thymeleaf is a Java library. It is an <b>XML / XHTML / HTML5 template engine</b>
(extensible to other formats) that can work both in web and non-web environments. It is better suited for serving XHTML/HTML5
at the <i>view layer</i> of web applications, but it can process any XML file even
in offline environments.
</p>
<p>
It provides an optional module for integration with <b>Spring MVC</b>, so that you
can use it as a complete substitute of JSP in your applications made with this technology, even with HTML5.
</p>
<p>
The main goal of Thymeleaf is to provide an elegant and well-formed way of creating
templates. Its <i>Standard</i> and <i>SpringStandard</i> dialects allow you to create powerful
<i>natural templates</i>, that can be correctly displayed by browsers
and therefore work also as static prototypes. You can also extend Thymeleaf by
developing your own dialects.
</p>
<p>
For more detail, have a look at the <a href="features.html"><b>complete list of features</b></a>.
</p>
<h2>What does it look like?</h2>
<p>
It looks like this:
</p>
<script type="syntaxhighlighter" class="brush:html"><![CDATA[
<table>
<thead>
<tr>
<th th:text="#{msgs.headers.name}">Name</th>
<th th:text="#{msgs.headers.price}">Price</th>
</tr>
</thead>
<tbody>
<tr th:each="prod : ${allProducts}">
<td th:text="${prod.name}">Oranges</td>
<td th:text="${#numbers.formatDecimal(prod.price,1,2)}">0.99</td>
</tr>
</tbody>
</table>
]]></script>
<p>
A quick look at this piece of code reveals internationalization expressions (<kbd>#{...}</kbd>),
variable/model-attribute evaluation expressions (<kbd>${...}</kbd>) and even utility functions
(<kbd>#numbers.formatDecimal(...)</kbd>). It also shows that this fragment of (X)HTML code
can be perfectly displayed by a browser as a prototype, without being executed at all —something
called a <i>natural template</i>.
</p>
<p>
But there's so much more: full (optional) Spring MVC integration - including form binding, property
editors and validation messages -, XML validation artifacts, text/javascript inlining and an
intelligent template cache system.
</p>
<p>
Again, for more detail have a look at the <a href="features.html">complete list of features</a>.
</p>
<h2>How is it distributed?</h2>
<p>
Thymeleaf is Open Source Software, and it is distributed under the terms of the <a href="license.html">Apache License 2.0</a>.
</p>
<h2>Where can I start learning about it?</h2>
<p>
You should start by reading the <b>tutorials</b> at the <a href="documentation.html">documentation page</a>.
</p>
<h2>How can I keep updated about Thymeleaf?</h2>
<p>
One of the best ways to do it is to <a href="http://www.twitter.com/thymeleaf">follow us on twitter</a>, but
you can also subscribe to our
<a href="http://forum.thymeleaf.org/Thymeleaf-News-and-Announcements-f2234422.html">News and Announcements Forum</a>.
</p>
<h2>Who is using this thing?</h2>
<p>
Have a look at our '<a href="whoisusingthymeleaf.html">Who is using Thymeleaf?</a>' page for some
download figures and interesting user experiences.
</p>
<h2>Project Status</h2>
<p>
Thymeleaf is production-ready. Current stable version is <b>2.1.3.RELEASE</b>.
</p>
<h2>Have a question?</h2>
<p>
Post it at our <a href="http://forum.thymeleaf.org">User Forum</a>.
</p>
</div>
<div id="footer">
<div id="googleplus">
<div id="plusone-div" class="plusone"></div>
<script type="text/javascript">
gapi.plusone.render('plusone-div',{"size": "small", "count": "true", "href": "http://www.thymeleaf.org"});
</script>
</div>
<div id="twitter">
<a href="http://twitter.com/thymeleaf" class="twitter-follow-button" data-show-count="false">Follow @thymeleaf</a>
<script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
</div>
<div id="copy">
Copyright © The <a href="team.html">THYMELEAF Team</a>. See <a href="documentation.html">applicable licenses</a>.
</div>
</div>
</div>
<script type="text/javascript">
SyntaxHighlighter.all();
</script>
</body>
</html>