课题thymeleaf 中文文档文档格式.docx
- 文档编号:21048840
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:12
- 大小:22.86KB
课题thymeleaf 中文文档文档格式.docx
《课题thymeleaf 中文文档文档格式.docx》由会员分享,可在线阅读,更多相关《课题thymeleaf 中文文档文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
text="
${message}"
RedChair<
/td>
2.整合spring
1)加入thymeleaf-spring4-2.1.4.RELEASE.jar(:
thymeleaf-spring3<
2)在servlet配置文件中加入如下代码
--Scanstheclasspathofthisapplicationfor@Componentstodeployasbeans-->
context:
component-scanbase-package="
com.test.thymeleaf.controller"
/>
--Configuresthe@Controllerprogrammingmodel-->
mvc:
annotation-driven/>
--Resolvesviewnamestoprotected.jspresourceswithinthe/WEB-INF/viewsdirectory-->
--springMVC+jsp的跳转页面配置-->
--<
beanclass="
org.springframework.web.servlet.view.InternalResourceViewResolver"
-->
propertyname="
prefix"
value="
/WEB-INF/views/"
suffix"
.jsp"
/bean>
--springMVC+thymeleaf的跳转页面配置-->
beanid="
templateResolver"
class="
org.thymeleaf.templateresolver.ServletContextTemplateResolver"
.html"
templateMode"
HTML5"
templateEngine"
org.thymeleaf.spring4.SpringTemplateEngine"
ref="
org.thymeleaf.spring4.view.ThymeleafViewResolver"
3)将静态页面加到项目中,更改文件头,加入th标签即可。
3.th标签整理
1)简单表达式
--变量表达式
${……}
inputtype="
text"
name="
userName"
JamesCarrot"
th:
value="
${user.name}"
上述代码为引用user对象的name属性值。
--选择/星号表达式*{……}
divth:
object="
${session.user}"
p>
Nationality:
spanth:
*{nationality}"
Saturn<
/span>
.<
/p>
/div>
选择表达式一般跟在th:
object后,直接取object中的属性。
--文字国际化表达式
#{……}
pth:
utext="
#{home.welcome}"
Welcometoourgrocerystore!
调用国际化的welcome语句,国际化资源文件如下
resource_en_US.properties:
home.welcome=Welcometohere!
resource_zh_CN.properties:
home.welcome=欢迎您的到来!
--URL表达式
@{……}
ahref="
details.html"
href="
@{/order/details(orderId=${o.id})}"
view<
/a>
@{……}支持决定路径和相对路径。
其中相对路径又支持跨上下文调用url和协议的引用(//
当URL为后台传出的参数时,代码如下
imgsrc="
../../static/assets/images/qr-code.jpg"
src="
@{${path}}"
alt="
二维码"
2)常用的th标签
--简单数据转换(数字,日期)
<
dt>
价格<
/dt>
<
ddth:
${#numbers.formatDecimal(product.price,1,2)}"
180<
/dd>
<
进货日期<
${#dates.format(product.availableFrom,'
yyyy-MM-dd'
)}"
2014-12-01<
--字符串拼接
${'
$'
+product.price}"
235<
--转义和非转义文本
当后台传出的数据为“Thisisan&
lt;
em&
gt;
HTML&
/em&
text.&
b&
Enjoyyourself!
&
/b&
”时,若页面代码如下则出现两种不同的结果
${html}"
Thisisan&
Thisisan<
em>
HTML<
/em>
text.<
b>
/b>
--表单中
formth:
action="
@{/bb}"
${user}"
method="
post"
method="
field="
*{name}"
/>
*{msg}"
submit"
/form>
--显示页面的数据迭代
//用th:
remove移除除了第一个外的静态数据,用第一个tr标签进行循环迭代显示
<
tbodyth:
remove="
all-but-first"
//将后台传出的productList的集合进行迭代,用product参数接收,通过product访问属性值
trth:
each="
product:
${productList}"
//用count进行统计,有顺序的显示
<
${productStat.count}"
1<
${product.description}"
+#numbers.formatDecimal(product.price,1,2)}"
$123<
/tr>
tr>
td>
Whitetable<
$200<
15-Jul-2013<
Rebtable<
Bluetable<
/tbody>
--条件判断
if="
${product.pricelt100}"
offer"
Specialoffer!
不能用"
”,"
"
等符号,要用"
lt"
等替代
--当gender存在时,选择对应的选项;
若gender不存在或为null时,取得customer对象的name-->
switch="
${customer.gender?
.name()}"
imgth:
case="
'
MALE'
src="
../../../images/male.png"
@{/images/male.png}"
Male"
--Use"
/images/male.png"
image-->
FEMALE'
../../../images/female.png"
@{/images/female.png}"
Female"
/images/female.png"
*"
Unknown<
--在页面先显示,然后再在显示的数据基础上进行修改-->
divclass="
form-groupcol-lg-6"
label>
姓名<
span>
nbsp;
/label>
!
--除非resume对象的name属性值为null,否则就用name的值作为placeholder值-->
form-control"
unless="
${resumes.name}eq'
or${resumes.name}eqnull"
data-required="
true"
placeholder="
${resumes.name}"
--除非resume对象的name属性不为空,否则就定义一个field方便封装对象,并用placeholder提示-->
${resume.name}"
${resumes.name}nenull"
请填写您的真实姓名"
--增加class="
enhanced"
当balance大雨10000-->
class="
${customer.balancegt10000}?
'
enhanced'
${customer.balance}"
350<
--根据后台数据选中select的选项
label>
性别<
Sex:
selectth:
${resume.gender}"
${resumes.gender.toString()}"
optionvalue="
男"
男'
selected="
selected"
>
男<
/option>
女"
女'
女<
请选择<
/select>
因为gender是定义的Enum(枚举)类型,所以要用toString方法。
用th:
switch指定传出的变量,用th:
case对变量的值进行匹配。
请选择"
放在第一项会出现永远选择的是这个选项。
或者用th:
if
divclass='
form-groupcol-lg-4'
selectclass='
form-control'
skill[4].proficiency"
option>
掌握程度<
optionth:
${skill.leveleq'
一般'
}"
一般<
熟练'
熟练<
精通'
精通<
--spring表达式语言
htmlxmlns:
head>
title>
Thymeleaftutorial:
exercise10<
/title>
linkrel="
stylesheet"
href="
../../../css/main-static.css"
@{/css/main.css}"
metacharset="
utf-8"
/head>
body>
h1>
Thymeleaftutorial-Solutionforexercise10:
SpringExpressionlanguage<
/h1>
h2>
Arithmeticexpressions<
/h2>
pclass="
label"
Fourmultipliedbyminussixmultipliedbyminustwomoduleseven:
answer"
${4*-6*-2%7}"
123<
Objectnavigation<
DescriptionfieldofpaymentMethodfieldofthethirdelementofcustomerListbean:
${customerList[2].paymentMethod.description}"
Creditcard<
Objectinstantiation<
Currenttimemilliseconds:
${newjava.util.Date().getTime()}"
22-Jun-2013<
Toperator<
Randomnumber:
${T(java.lang.Math).random()}"
123456<
/body>
/html>
--内联
labelfor="
body"
Messagebody:
textareaid="
inline="
Dear[[${customerName}]],
itisoursincerepleasuretocongratulateyourinyourbirthday:
Happybirthday[[${customerName}]]!
Seeyousoon,[[${customerName}]].
Regards,
TheThymeleafteam
/textarea>
--内联JS<
js起止加入如下代码,否则引号嵌套或者"
等不能用>
/*<
[CDATA[*/
……
/*]]>
*/
--js附加代码:
/*[+
varmsg='
Thisisaworkingapplication'
;
+]*/
--js移除代码:
/*[-*/
Thisisanon-workingtemplate'
/*-]*/
4.不常用
--表达式
2)文字
a)文本文字
onetext'
'
Anotherone'
……
b)数字文字
0,34,3.0,12.3,……
c)布尔文字
true,flase
d)空文字
null
e)文字标记
one,sometext,main,……
3)文本处理
a)字符串连接
+
b)文字替换
|Thenameid${name}|
4)算术表达式
a)基本表达式
+,-,*,/,%
b)减号(一元运算符)
-
5)布尔表达式
and,or
b)布尔否定(一元运算符)
not
6)比较和相等
a)比较
,<
,>
=,<
=(gt,lt,ge,le)
b)相等表达式
==,!
=(eq,ne)
7)条件表达式
a)If-then
(if)?
(then)
b)If-then-else
(then):
(else)
c)Default
(value)?
:
(defaltvalue)
所有这些标签能够结合和嵌套:
Userisoftype'
+(${user.isAdmin()}?
Administrator'
(${user.type}?
Unknown'
))
--表达式基本对象
在上下文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课题thymeleaf 中文文档 课题 thymeleaf 中文 文档