www.2527.com_澳门新葡8455手机版_新京葡娱乐场网址_
做最好的网站

动用Thymeleaf模板引擎渲染web视图,使用Thymeleaf模

2019-10-05 20:31 来源:未知

在《使用Spring Boot和Kotlin创设RESTfull API》一文中,大家做到了四个归纳的RESTful 服务,体验了Spring Boot 与 kotlin结合的神力,不过频仍大家也亟需web的协理,那么本篇就在上二个稿子的功底上介绍Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图。

Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图的章程,kotlinthymeleaf

本篇给我们介绍Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图。

静态能源访谈

在大家付出Web应用的时候,必要引用大批量的js、css、图片等静态能源,使用Spring Boot 与 kotlin怎么着去帮忙那些静态能源?,很粗大略。

暗中同意配置

Spring Boot暗许提供静态财富目录地点需置于 classpath 下,目录名需契合如下法则:

/static
/public
/resources
/META-INF/resources

譬释迦牟尼讲:大家能够在src/main/resources/目录下成立static,在该位寄存置三个图形文件。运行程序后,尝试访问 。如能彰显图片,配置成功。

渲染Web页面

前边经过 @RestController 管理诉求,重回的剧情为json对象。假设急需渲染 html 页面,要如何完毕吗?

模板引擎

在 Spring Boot 推荐的沙盘引擎下,大家得以便捷的侧面开荒动态网址。

Spring Boot 提供了默许配置的模版引擎首要有以下二种:

Thymeleaf
FreeMarker
Groovy
Mustache

Spring Boot提议采纳那些模板引擎,制止使用JSP,若应当要利用JSP将不可能兑现Spring Boot的有余个性,具体可知后文:支持JSP的配置

当您利用上述模板引擎中的任何二个,它们默许的模版配置路线为: src/main/resources/templates 。当然也能够修改这一个门路,具体什么修改,可在后续各模板引擎的布署属性中询问并修改。

Thymeleaf

Thymeleaf 是三个 XML/XHTML/HTML5 模板引擎,可用来Web与非Web情形中的应用开辟。它是二个开源的Java库,基于Apache License 2.0获准,由丹尼尔勒Fernández创制,该笔者照旧Java加密库Jasypt的撰稿人。

Thymeleaf提供了三个用以整合Spring MVC的可选模块,在运用开采中,你能够行使Thymeleaf来完全代替JSP或其它模板引擎,如Free马克尔等。Thymeleaf的基本点指标在于提供一种可被浏览器正确显示的、格式卓越的模板创立格局,因而也得以当作静态建模。你能够利用它创制经过认证的XML与HTML模板。相对于编写逻辑或代码,开拓者只需将标签属性增多到模板中就能够。接下来,这么些标签属性就能够在DOM(文书档案对象模型)上实行预先拟定好的逻辑。

示范模板:

<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml">
<head lang="en">
 <meta charset="UTF-8" />
 <title>quanke.name</title>
</head>
<body>
<h1 th:text="${host}">Hello World</h1>
</body>
</html>

能够看来Thymeleaf重要以属性的法门走入到html标签中,浏览器在分析html时,当检查到未有的属性时候会忽略,所以Thymeleaf的沙盘能够通过浏览器直接张开表现,那样极度有益前后端的分离。

在Spring Boot中央银行使Thymeleaf,只必要引进上边正视,并在暗许的沙盘路线src/main/resources/templates下编写制定模板文件就可以落成。

compile "org.springframework.boot:spring-boot-starter-thymeleaf:$spring_boot_version"

在成功布局之后,举两个回顾的例证,在便捷入门工程的底蕴上,举一个简练的以身作则来通过Thymeleaf渲染二个页面。

import org.springframework.stereotype.Controller
import org.springframework.ui.ModelMap
import org.springframework.web.bind.annotation.RequestMapping
/**
 * Created by http://quanke.name on 2018/1/10.
 */
@Controller
class HelloController {
 @RequestMapping("/")
 fun index(map: ModelMap): String {
// / 加入一个属性,用来在模板中读取
 map.addAttribute("host", "http://quanke.name")
 // return模板文件的名称,对应src/main/resources/templates/index.html
 return "index"
 }
}

默许在 src/main/resources/templates 目录下扩展 index.html 文件

<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml">
<head lang="en">
 <meta charset="UTF-8" />
 <title>quanke.name</title>
</head>
<body>
<h1 th:text="${host}">Hello World</h1>
</body>
</html>

扩大使用 kotlin 语言达成的 Spring Boot 运维方法:

import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication

/**
 * Created by http://quanke.name on 2018/1/9.
 */
@SpringBootApplication
class Application
fun main(args: Array<String>) {
 SpringApplication.run(Application::class.java, *args)
}

如上页面,直接展开html页面表现Hello World,可是运行程序后,访问 ,则是显得Controller中host的值:

越来越多 Thymeleaf 的页面语法,还请访谈Thymeleaf的法定文书档案查询利用。

Thymeleaf的暗中同意参数配置

如有供给修改暗中认可配置的时候,只需复制上边要修改的习性到 application.yml 中,并修改成必要的值,如修改模板文件的扩大名,修改默许的沙盘路线等。

# Enable template caching.
spring.thymeleaf.cache=true 
# Check that the templates location exists.
spring.thymeleaf.check-template-location=true 
# Content-Type value.
spring.thymeleaf.content-type=text/html 
# Enable MVC Thymeleaf view resolution.
spring.thymeleaf.enabled=true 
# Template encoding.
spring.thymeleaf.encoding=UTF-8 
# Comma-separated list of view names that should be excluded from resolution.
spring.thymeleaf.excluded-view-names= 
# Template mode to be applied to templates. See also StandardTemplateModeHandlers.
spring.thymeleaf.mode=HTML5 
# Prefix that gets prepended to view names when building a URL.
spring.thymeleaf.prefix=classpath:/templates/ 
# Suffix that gets appended to view names when building a URL.
spring.thymeleaf.suffix=.html spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain. spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved.

测验情状或许支付条件制止出现不可预期难题日常设置: spring.thymeleaf.cache=true

支持JSP的配置

Spring Boot并不建议接纳,但万一必需求运用,能够参照此工程作为脚手架: JSP 补助

如上所述Kotlin 对于Spring Boot的援助极其好,只需求把Java语言的spring boot使用,翻译成kotlin就足以。

总结

如上所述是作者给大家介绍的Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图的方法,希望对我们有所支持,假使大家有另外疑问请给本身留言,作者会及时回复大家的。在此也特别谢谢我们对帮客之家网址的支撑!

Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图的不二秘技,kotlinthymeleaf 本篇给大家介绍Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图。...

www.2527.com 1Spring

在大家开拓Web应用的时候,要求援用大批量的js、css、图片等静态财富,使用Spring Boot 与 kotlin怎样去支撑这么些静态财富?,异常的粗略。

Spring Boot火速入门中大家达成了一个粗略的RESTful Service,体验了便捷支付的表征。在留言中也可能有对象关系怎么样把管理结果渲染到页面上。那么本篇就在上篇基础上介绍一下怎么样进展Web应用的开销。

默许配置

Spring Boot私下认可提供静态财富目录地点需置于classpath下,目录名需相符如下法则:

/static/public/resources/META-INF/resources

举个例子来讲:我们得以在src/main/resources/目录下创办static,在该职位放置三个图片文件。运行程序后,尝试访谈

前边经过@RestController拍卖央浼,重回的源委为json对象。即使急需渲染html页面,要怎么样实现啊?

Spring Boot引进的沙盘引擎下,大家得以长足的侧边开垦动态网址。

Spring Boot提供了暗中同意配置的模版引擎主要有以下三种:

ThymeleafFreeMarkerGroovyMustache

Spring Boot提议采用这个模板引擎,制止使用JSP,若一定要运用JSP将不能兑现Spring Boot的有余表征,具体可知后文:帮衬JSP的安插

当您接纳上述模板引擎中的任何一个,它们暗中认可的模板配置路线为:src/main/resources/templates。当然也得以修改那一个门路,具体什么修改,可在接二连三各模板引擎的布局属性中询问并修改。

Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用来Web与非Web境况中的应用开垦。它是三个开源的Java库,基于Apache License 2.0认同,由DanielFernández创立,该小编照旧Java加密库Jasypt的小编。

Thymeleaf提供了二个用于整合Spring MVC的可选模块,在应用开荒中,你能够利用Thymeleaf来完全代表JSP或别的模板引擎,如FreeMarker等。Thymeleaf的首要对象在于提供一种可被浏览器精确显示的、格式卓绝的模板成立格局,因而也能够视作静态建立模型。你能够选取它创设经过认证的XML与HTML模板。绝对于编写逻辑或代码,开荒者只需将标签属性增添到模板中就能够。接下来,那一个标签属性就能够在DOM上施行预先制订好的逻辑。

在大家付出Web应用的时候,必要引用大批量的js、css、图片等静态能源。

亲自去做模板:

<!DOCTYPE html><html xmlns:th="http://www.w3.org/1999/xhtml"><head lang="en"> <meta charset="UTF-8" /> <title>quanke.name</title></head><body><h1 th:text="${host}">Hello World</h1></body></html>

能够观察Thymeleaf重要以属性的章程参与到html标签中,浏览器在分析html时,当检查到未有的习性时候会忽略,所以Thymeleaf的模版能够透过浏览器直接打开展现,这样充足平价前后端的分离。

在Spring Boot中采取Thymeleaf,只须要引进上面信任,并在默许的模版路线src/main/resources/templates下编写制定模板文件就可以成功。

compile "org.springframework.boot:spring-boot-starter-thymeleaf:$spring_boot_version"

在产生安顿之后,举两个简易的例证,在高效入门工程的根基上,举一个粗略的演示来通过Thymeleaf渲染叁个页面。

import org.springframework.stereotype.Controllerimport org.springframework.ui.ModelMapimport org.springframework.web.bind.annotation.RequestMapping/** * Created by http://quanke.name on 2018/1/10. */@Controllerclass HelloController { @RequestMapping fun index(map: ModelMap): String {// / 加入一个属性,用来在模板中读取 map.addAttribute("host", "http://quanke.name") // return模板文件的名称,对应src/main/resources/templates/index.html return "index" }}

默认在 src/main/resources/templates目录下扩大index.html文件

<!DOCTYPE html><html xmlns:th="http://www.w3.org/1999/xhtml"><head lang="en"> <meta charset="UTF-8" /> <title>quanke.name</title></head><body><h1 th:text="${host}">Hello World</h1></body></html>

日增使用 kotlin言语完成的 Spring Boot运行方法:

import org.springframework.boot.SpringApplicationimport org.springframework.boot.autoconfigure.SpringBootApplication/** * Created by http://quanke.name on 2018/1/9. */@SpringBootApplicationclass Applicationfun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args)}

如上页面,直接展开html页面表现Hello World,可是运行程序后,访问

更多Thymeleaf的页面语法,还请访谈Thymeleaf的合法语档查询利用。

Thymeleaf的私下认可参数配置

如有须要修改私下认可配置的时候,只需复制上面要修改的习性到application.yml中,并修改成必要的值,如修改模板文件的恢宏名,修改私下认可的沙盘路线等。

# Enable template caching.spring.thymeleaf.cache=true # Check that the templates location exists.spring.thymeleaf.check-template-location=true # Content-Type value.spring.thymeleaf.content-type=text/html # Enable MVC Thymeleaf view resolution.spring.thymeleaf.enabled=true # Template encoding.spring.thymeleaf.encoding=UTF-8 # Comma-separated list of view names that should be excluded from resolution.spring.thymeleaf.excluded-view-names= # Template mode to be applied to templates. See also StandardTemplateModeHandlers.spring.thymeleaf.mode=HTML5 # Prefix that gets prepended to view names when building a URL.spring.thymeleaf.prefix=classpath:/templates/ # Suffix that gets appended to view names when building a URL.spring.thymeleaf.suffix=.html spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain. spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved.

测量检验情状只怕开辟条件避免出现不可预期难题平时安装:spring.thymeleaf.cache=true

Spring Boot并不提议选用,但如果绝对要使用,能够参见此工程看成脚手架:JSP扶助

因此看来Kotlin 对于Spring Boot的帮助非常好,只须求把Java语言的spring boot使用,翻译成kotlin就能够。

www.2527.com 2全科龙婷

Spring Boot私下认可提供静态能源目录地方需置于classpath下,目录名需切合如下准绳:

  • /static
  • /public
  • /resources
  • /META-INF/resources

比喻:大家得以在src/main/resources/目录下开创static,在该岗位放置叁个图形文件。运行程序后,尝试访谈http://localhost:8080/D.jpg。如能显得图片,配置成功。

在事先的亲自去做中,大家都是经过@RestController来管理要求,所以回来的开始和结果为json对象。那么只要急需渲染html页面包车型大巴时候,要什么样兑现呢?

在动态HTML实现上Spring Boot依旧能够圆满胜任,並且提供了两种模板引擎的暗许配置协助,所以在引入的沙盘引擎下,我们得以火速的侧边开辟动态网址。

Spring Boot提供了暗中认可配置的沙盘引擎重要有以下二种:

  • Thymeleaf
  • FreeMarker
  • Velocity
  • Groovy
  • Mustache

Spring Boot建议选用那个模板引擎,制止接纳JSP,若必须要选拔JSP将无法达成Spring Boot的种种特色,具体可知后文:协助JSP的配备

当您利用上述模板引擎中的任何二个,它们暗中认可的模版配置路线为:src/main/resources/templates。当然也能够修改那个渠道,具体什么修改,可在后续各模板引擎的布署属性中查询并修改。

Thymeleaf

Thymeleaf是一个XML/XHTML/HTML5模板引擎,可用于Web与非Web情况中的应用开拓。它是叁个开源的Java库,基于Apache License 2.0许可,由DanielFernández创立,该作者照旧Java加密库Jasypt的撰稿人。

Thymeleaf提供了多个用来整合Spring MVC的可选模块,在选取开辟中,你能够使用Thymeleaf来完全替代JSP或另外模板引擎,如Velocity、Free马克尔等。Thymeleaf的重大对象在于提供一种可被浏览器正确突显的、格式杰出的模板创制格局,由此也得以看作静态建立模型。你能够行使它创造经过认证的XML与HTML模板。绝对于编写逻辑或代码,开垦者只需将标签属性加多到模板中就可以。接下来,这一个标签属性就能在DOM上施行预先制定好的逻辑。

示范模板:

<table> <thead> <tr> <th th:text="#{msgs.headers.name}">Name</td> <th th:text="#{msgs.headers.price}">Price</td> </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>

能够看来Thymeleaf重要以属性的方法进入到html标签中,浏览器在分析html时,当检查到未有的属性时候会忽视,所以Thymeleaf的沙盘能够由此浏览器直接张开表现,那样特别有益前后端的分离。

在Spring Boot中使用Thymeleaf,只须求引入上面信赖,并在私下认可的沙盘路线src/main/resources/templates下编写制定模板文件就可以完毕。

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

在成功布署之后,举八个简短的事例,在高速入门工程的根基上,举贰个简便的演示来由此Thymeleaf渲染三个页面。

@Controllerpublic class HelloController { @RequestMapping public String index(ModelMap map) { // 加入一个属性,用来在模板中读取 map.addAttribute("host", "http://blog.didispace.com"); // return模板文件的名称,对应src/main/resources/templates/index.html return "index"; }}

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" /> <title></title></head><body><h1 th:text="${host}">Hello World</h1></body></html>

如上页面,直接张开html页面表现Hello World,但是运行程序后,访问http://localhost:8080/,则是显得Controller中host的值:http://blog.didispace.com,做到了不破坏HTML本身内容的数据逻辑分离。

www.2527.com,越多Thymeleaf的页面语法,还请访谈Thymeleaf的法定文书档案查询利用。

Thymeleaf的默许参数配置

如有需求修改默许配置的时候,只需复制上边要修改的性质到application.properties中,并修改成须要的值,如修改模板文件的恢弘名,修改私下认可的模板路线等。

# Enable template caching.spring.thymeleaf.cache=true # Check that the templates location exists.spring.thymeleaf.check-template-location=true # Content-Type value.spring.thymeleaf.content-type=text/html # Enable MVC Thymeleaf view resolution.spring.thymeleaf.enabled=true # Template encoding.spring.thymeleaf.encoding=UTF-8 # Comma-separated list of view names that should be excluded from resolution.spring.thymeleaf.excluded-view-names= # Template mode to be applied to templates. See also StandardTemplateModeHandlers.spring.thymeleaf.mode=HTML5 # Prefix that gets prepended to view names when building a URL.spring.thymeleaf.prefix=classpath:/templates/ # Suffix that gets appended to view names when building a URL.spring.thymeleaf.suffix=.html spring.thymeleaf.template-resolver-order= # Order of the template resolver in the chain. spring.thymeleaf.view-names= # Comma-separated list of view names that can be resolved.

Spring Boot并不建议选用,但借使绝对要动用,能够参照此工程作为脚手架:JSP扶助

Spring Boot教程完整案例

TAG标签:
版权声明:本文由澳门新葡8455手机版发布于www.2527.com,转载请注明出处:动用Thymeleaf模板引擎渲染web视图,使用Thymeleaf模