好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Spring boot项目中异常拦截设计和处理详解

最近项目用到了spring boot ,但是在控制器返回html视图并渲染参数的时候,存在了疑问。后面考虑用 thymeleaf ,感觉真的不错,下面分享给大家

总共四步:

jar 引入 控制器参数传递  html标签引入  thymeleaf 缓存设置

一、相关jar的引用

1、maven的引用方式:

?

1

2

3

4

<dependency>

  <groupid>org.springframework.boot</groupid>

  <artifactid>spring-boot-starter-thymeleaf</artifactid>

</dependency>

2、我现在的项目是用的gradle,在build.gradle 里面的dependency加入以下配置:

?

1

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

二、spring boot 控制器controller的配置,需要使用model来进行参数传递(或者自定义map)

?

1

2

3

4

5

6

@requestmapping ( "/index" )

  public string index(model model) {

   model.addattribute( "loginname" , "admin" );

   model.addattribute( "loginid" , "27" );

   return "index" ;

  }

因为thymeleaf  默认的视图返回路径是 /src/java/resources/templates ,而且默认后缀是.html , 所以我们的页面视图就放到templates目录下

三、页面视图的配置

1、在html标签上引入 thymeleaf  的标签库,然后参数输出就可以直接使用${}  了

?

1

2

<html xmlns= "http://www.w3.org/1999/xhtml"

xmlns:th= "http://www.thymeleaf.org" xmlns:layout= "http://www.ultraq.net.nz/thymeleaf/layout" >

例如:

?

1

2

3

4

5

6

7

8

9

10

11

12

<!doctype html>

<html xmlns= "http://www.w3.org/1999/xhtml"

xmlns:th= "http://www.thymeleaf.org" xmlns:layout= "http://www.ultraq.net.nz/thymeleaf/layout" >

<head>

<meta http-equiv= "content-type" content= "text/html; charset=utf-8" ></meta>

<title>im test page</title>

</head>

<body>

     loginid:<span th:text= "${loginid}" ></span>

    loginname:<span th:text= "${loginname}" ></span>

</body>

</html>

最后的输出结果:

四、thymeleaf  的缓存配置

每次更改页面,如果不配置thymeleaf  缓存设置为false,那么每次更改html页面都需要重启页面才刷新,这肯定是我们不愿意的

那么有一个简单的办法,在我们的的基础配置文件里面加入一句配置。 例如我的是application.properties 里面加入一句:

?

1

2

#thymeleaf cache set

spring.thymeleaf.cache= false

重启,配置完成

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

原文链接:http://www.cnblogs.com/f-anything/p/10082637.html

查看更多关于Spring boot项目中异常拦截设计和处理详解的详细内容...

  阅读:13次