This repository has been archived by the owner on Nov 27, 2021. It is now read-only.
forked from thymeleaf/thymeleaf.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
executable file
·207 lines (167 loc) · 8.01 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
<!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>
<!-- Sample news block -->
<p>
<i>30 October 2015</i>: <strong>Thymeleaf 3.0.0.BETA01</strong> is here! The first BETA of the long awaited
Thymeleaf 3.0 release has been released, and it comes with a lot of new features.
Learn more at the <a href="http://forum.thymeleaf.org/Thymeleaf-3-0-0-BETA01-just-published-td4029294.html">announcement</a> or
the <a href="doc/articles/thymeleaf3migration.html">migration guide</a>.
</p>
<h2>What is Thymeleaf?</h2>
<p>
Thymeleaf is a Java library. It is a <b>template engine</b> capable of processing and generating HTML, XML, JavaScript, CSS and text,
and can work both in web and non-web environments. It is better suited for serving the <i>view layer</i> of
web applications, but it can process files in many formats, 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 -, 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.4.RELEASE</b>.<br/>
But we are also preparing the awesome Thymeleaf 3.0,
so you might want to try our newest <b>3.0.0.BETA01</b> (<a href="http://forum.thymeleaf.org/Thymeleaf-3-0-0-BETA01-just-published-td4029294.html">more info</a> |
<a href="doc/articles/thymeleaf3migration.html">migration guide</a>).
</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>