{"id":18,"date":"2025-05-20T23:56:57","date_gmt":"2025-05-20T15:56:57","guid":{"rendered":"https:\/\/itfinn.com\/?p=18"},"modified":"2025-05-20T23:56:57","modified_gmt":"2025-05-20T15:56:57","slug":"thymeleaf-%e6%95%99%e7%a8%8b","status":"publish","type":"post","link":"https:\/\/itfinn.com\/index.php\/2025\/05\/20\/thymeleaf-%e6%95%99%e7%a8%8b\/","title":{"rendered":"thymeleaf \u6559\u7a0b"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1 \u600e\u4e48\u4f7f\u7528<\/h2>\n\n\n\n<p>\u524d\u7aefhtml\u9875\u9762\u6807\u7b7e\u4e2d\u5f15\u5165\u5982\u4e0b\uff1a<br><code>&lt;html xmlns:th=\"http:\/\/www.thymeleaf.org\"&gt;<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2 \u8868\u8fbe\u5f0f<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u7b80\u5355\u8868\u8fbe\u5f0f<\/li>\n\n\n\n<li>\u53ef\u7528\u503c\u8868\u8fbe\u5f0f(\u540e\u53f0\u8bbe\u7f6e): <code>${\u2026}<\/code><\/li>\n\n\n\n<li>\u6240\u6709\u53ef\u7528\u503c\u8868\u8fbe\u5f0f: <code>*{\u2026}<\/code><br><code>\u6bd4\u5982*{name} \u4ece\u53ef\u7528\u503c\u4e2d\u67e5\u627ename\uff0c\u5982\u679c\u6709\u4e0a\u4e0b\u6587\uff0c\u6bd4\u5982\u4e0a\u5c42\u662fobject\uff0c\u5219\u67e5object\u4e2d\u7684name\u5c5e\u6027\u3002<\/code><\/li>\n\n\n\n<li>\u6d88\u606f\u8868\u8fbe\u5f0f: <code>#{\u2026}<\/code><br><code>\u56fd\u9645\u5316\u65f6\u4f7f\u7528\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5185\u7f6e\u7684\u5bf9\u8c61\uff0c\u6bd4\u5982date\u683c\u5f0f\u5316\u6570\u636e<\/code><\/li>\n\n\n\n<li>\u94fe\u63a5\u8868\u8fbe\u5f0f: <code>@{\u2026}<\/code><br>\u7528\u6765\u914d\u5408<code>link src href<\/code>\u4f7f\u7528\u7684\u8bed\u6cd5<\/li>\n\n\n\n<li>\u7247\u6bb5\u8868\u8fbe\u5f0f: <code>~{\u2026}<\/code><br>\u7528\u6765\u5f15\u5165\u516c\u5171\u90e8\u5206\u4ee3\u7801\u7247\u6bb5\uff0c\u5e76\u8fdb\u884c\u4f20\u503c\u64cd\u4f5c\u4f7f\u7528\u7684\u8bed\u6cd5\u3002<\/li>\n\n\n\n<li>\u6587\u5b57<\/li>\n\n\n\n<li>\u6587\u672c\uff1a<code>'one text', 'another text', \u2026<\/code><\/li>\n\n\n\n<li>\u6570\u5b57\uff1a<code>1,2,1.2\uff0c\u2026<\/code><\/li>\n\n\n\n<li>\u5e03\u5c14: <code>true, false<\/code><\/li>\n\n\n\n<li>\u7a7a\u503c\uff1a<code>null<\/code><\/li>\n\n\n\n<li>\u5355\u8bcd: <code>something, main, name, \u2026<\/code><\/li>\n\n\n\n<li>\u6587\u672c\u64cd\u4f5c<\/li>\n\n\n\n<li>\u94fe\u63a5\uff1a<code>+<\/code><\/li>\n\n\n\n<li>\u66ff\u6362\uff1a<code>|The name is ${name}|<\/code><br>&#8220;`html<br><a href=\"\">\u94fe\u63a5\u5730\u5740\uff1a<\/a><br>\/\/\u6e32\u67d3\u540e\u7684\u7ed3\u679c<br><a href=\"\/name\/3\">\u94fe\u63a5\u5730\u5740\uff1a<\/a><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code> * \u6570\u5b66\u64cd\u4f5c  \n  * \u4e8c\u5143\u64cd\u4f5c\uff1a`+, - , * , \/ , %`\n  * \u4e00\u5143\u64cd\u4f5c: `- \uff08\u8d1f\uff09`\n * \u5e03\u5c14\u64cd\u4f5c\n  * \u4e00\u5143 : `and, or`\n  * \u4e8c\u5143 : `!, not`\n * \u6bd4\u8f83\n  * \u6bd4\u8f83\uff1a`&gt; , &lt; , &gt;= , &lt;= ( gt , lt , ge , le )`\n  * \u7b49\u4e8e\uff1a`== , != ( eq , ne )`\n * \u6761\u4ef6\n  * If-then: `(if) ? (then)`\n  * If-then-else: `(if) ? (then) : (else)`\n  * Default: `(value) ?: (defaultvalue)`\n * \u65e0\u64cd\u4f5c \n  * \u4f7f\u7528`_ `\u6765\u7981\u6b62\u8f6c\u4e49\u3002\n\n##3 \u652f\u6301\u7684\u64cd\u4f5c  \n * html5\u7684\u64cd\u4f5c\u652f\u6301\uff1a <\/code><\/pre>\n\n\n\n<p>th:abbr<br>th:accept<br>th:accept-charset<br>th:accesskey<br>th:action<br>th:align<br>th:alt<br>th:archive<br>th:audio<br>th:autocomplete<br>th:axis<br>th:background<br>th:bgcolor<br>th:border<br>th:cellpadding<br>th:cellspacing<br>th:challenge<br>th:charset<br>th:cite<br>th:class<br>th:classid<br>th:codebase<br>th:codetype<br>th:cols<br>th:colspan<br>th:compact<br>th:content<br>th:contenteditable<br>th:contextmenu<br>th:data<br>th:datetime<br>th:dir<br>th:draggable<br>th:dropzone<br>th:enctype<br>th:for<br>th:form<br>th:formaction<br>th:formenctype<br>th:formmethod<br>th:formtarget<br>th:fragment<br>th:frame<br>th:frameborder<br>th:headers<br>th:height<br>th:high<br>th:href<br>th:hreflang<br>th:hspace<br>th:http-equiv<br>th:icon<br>th:id<br>th:inline<br>th:keytype<br>th:kind<br>th:label<br>th:lang<br>th:list<br>th:longdesc<br>th:low<br>th:manifest<br>th:marginheight<br>th:marginwidth<br>th:max<br>th:maxlength<br>th:media<br>th:method<br>th:min<br>th:name<br>th:onabort<br>th:onafterprint<br>th:onbeforeprint<br>th:onbeforeunload<br>th:onblur<br>th:oncanplay<br>th:oncanplaythrough<br>th:onchange<br>th:onclick<br>th:oncontextmenu<br>th:ondblclick<br>th:ondrag<br>th:ondragend<br>th:ondragenter<br>th:ondragleave<br>th:ondragover<br>th:ondragstart<br>th:ondrop<br>th:ondurationchange<br>th:onemptied<br>th:onended<br>th:onerror<br>th:onfocus<br>th:onformchange<br>th:onforminput<br>th:onhashchange<br>th:oninput<br>th:oninvalid<br>th:onkeydown<br>th:onkeypress<br>th:onkeyup<br>th:onload<br>th:onloadeddata<br>th:onloadedmetadata<br>th:onloadstart<br>th:onmessage<br>th:onmousedown<br>th:onmousemove<br>th:onmouseout<br>th:onmouseover<br>th:onmouseup<br>th:onmousewheel<br>th:onoffline<br>th:ononline<br>th:onpause<br>th:onplay<br>th:onplaying<br>th:onpopstate<br>th:onprogress<br>th:onratechange<br>th:onreadystatechange<br>th:onredo<br>th:onreset<br>th:onresize<br>th:onscroll<br>th:onseeked<br>th:onseeking<br>th:onselect<br>th:onshow<br>th:onstalled<br>th:onstorage<br>th:onsubmit<br>th:onsuspend<br>th:ontimeupdate<br>th:onundo<br>th:onunload<br>th:onvolumechange<br>th:onwaiting<br>th:optimum<br>th:pattern<br>th:placeholder<br>th:poster<br>th:preload<br>th:radiogroup<br>th:rel<br>th:rev<br>th:rows<br>th:rowspan<br>th:rules<br>th:sandbox<br>th:scheme<br>th:scope<br>th:scrolling<br>th:size<br>th:sizes<br>th:span<br>th:spellcheck<br>th:src<br>th:srclang<br>th:standby<br>th:start<br>th:step<br>th:style<br>th:summary<br>th:tabindex<br>th:target<br>th:title<br>th:type<br>th:usemap<br>th:value<br>th:valuetype<br>th:vspace<br>th:width<br>th:wrap<br>th:vspace<br>th:width<br>th:wrap<br>th:xmlbase<br>th:xmllang<br>th:xmlspace<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> * \u5e03\u5c14\u7c7b\u578b<\/code><\/pre>\n\n\n\n<p>th:async<br>th:autofocus<br>th:autoplay<br>th:checked<br>th:controls<br>th:declare<br>th:default<br>th:defer<br>th:disabled<br>th:formnovalidate<br>th:hidden<br>th:ismap<br>th:loop<br>th:multiple<br>th:novalidate<br>th:nowrap<br>th:open<br>th:pubdate<br>th:readonly<br>th:required<br>th:reversed<br>th:scoped<br>th:seamless<br>th:selected<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>###3.1 \u5e38\u7528th\u6807\u7b7e\n&lt;table border=\"1\"&gt;\n&lt;tr&gt;&lt;th&gt;\u5173\u952e\u5b57&lt;\/th&gt;&lt;th&gt;\u529f\u80fd\u4ecb\u7ecd&lt;\/th&gt;&lt;th&gt;\u6848\u4f8b&lt;\/th&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:value&lt;\/td&gt;&lt;td&gt;thymeleaf\u683c\u5f0f\u5316\u65f6\u95f4&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<p>th:value=&#8221;${#dates.format(info.date, &#8216;yyyy-MM-dd HH:mm:ss&#8217;)}&#8221;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:id&lt;\/td&gt;&lt;td&gt;\u66ff\u6362id&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:text&lt;\/td&gt;&lt;td&gt;\u6587\u672c\u66ff\u6362&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<p>description<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:utext&lt;\/td&gt;&lt;td&gt;\u652f\u6301html\u7684\u6587\u672c\u66ff\u6362&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<p>content<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:object&lt;\/td&gt;&lt;td&gt;\u66ff\u6362\u5bf9\u8c61&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:value&lt;\/td&gt;&lt;td&gt;\u5c5e\u6027\u8d4b\u503c&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:with&lt;\/td&gt;&lt;td&gt;\u53d8\u91cf\u8d4b\u503c\u8fd0\u7b97&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:style&lt;\/td&gt;&lt;td&gt;\u8bbe\u7f6e\u6837\u5f0f&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:onclick&lt;\/td&gt;&lt;td&gt;\u70b9\u51fb\u4e8b\u4ef6&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:each&lt;\/td&gt;&lt;td&gt;\u5c5e\u6027\u8d4b\u503c&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:if&lt;\/td&gt;&lt;td&gt;\u5224\u65ad\u6761\u4ef6&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><a><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:unless&lt;\/td&gt;&lt;td&gt;\u548cth:if\u5224\u65ad\u76f8\u53cd&lt;\/td&gt;&lt;td&gt;<\/code><\/a><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><a><\/a><a>Login<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:href&lt;\/td&gt;&lt;td&gt;\u94fe\u63a5\u5730\u5740&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<p><a>Login<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:switch&lt;\/td&gt;&lt;td&gt;\u591a\u8def\u9009\u62e9\u914d\u5408th:case\u4f7f\u7528&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:fragment&lt;\/td&gt;&lt;td&gt;th:switch\u7684\u4e00\u4e2a\u5206\u652f&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<p>User is an administrator<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:includ&lt;\/td&gt;&lt;td&gt;\u5e03\u5c40\u6807\u7b7e\uff0c\u66ff\u6362\u5185\u5bb9\u5230\u5f15\u5165\u7684\u6587\u4ef6&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:replace&lt;\/td&gt;&lt;td&gt;\u5e03\u5c40\u6807\u7b7e\uff0c\u66ff\u6362\u6574\u4e2a\u6807\u7b7e\u5230\u5f15\u5165\u7684\u6587\u4ef6&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:selectd&lt;\/td&gt;&lt;td&gt;selected\u9009\u62e9\u6846\u9009\u4e2d&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n<p>th:selected=&#8221;(${xxx.id} == ${configObj.dd})&#8221;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:src&lt;\/td&gt;&lt;td&gt;\u56fe\u7247\u7c7b\u5730\u5740\u5f15\u5165&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n\n\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;\/td&gt;&lt;\/tr&gt;\n&lt;tr&gt;&lt;td&gt;th:inline&lt;\/td&gt;&lt;td&gt;\u5b9a\u4e49js\u811a\u672c\u53ef\u4ee5\u4f7f\u7528\u53d8\u91cf&lt;\/td&gt;&lt;td&gt;<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1 \u600e\u4e48\u4f7f\u7528 \u524d\u7aefhtml\u9875\u9762\u6807\u7b7e\u4e2d\u5f15\u5165\u5982\u4e0b\uff1a&lt;html xmlns:th=&#8221;http:\/\/www.th [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-18","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/posts\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":1,"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/posts\/18\/revisions"}],"predecessor-version":[{"id":19,"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/posts\/18\/revisions\/19"}],"wp:attachment":[{"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/categories?post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itfinn.com\/index.php\/wp-json\/wp\/v2\/tags?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}