项目中引入thymeleaf的一些注意事项

来源:互联网 发布:网络文明包括什么 编辑:程序博客网 时间:2024/06/05 08:33

项目中使用thymeleaf前后台一起开发注意事项

1.因为thymeleaf标签有th:前缀,在编辑器报错说是不是认识th:*之类的属性,当页面解析的时候并不会出现任何问题,如果你觉得这个错心烦,请在文档开头html处加入如下:

<html  xmlns:th="http://www.thymeleaf.org"></html>

2.前端人员开发的过程中,引用的资源都为静态的资源,显然是不符合动态页面的需求的。怎么办呢?
当我我们要引入某个CSS的时候静态引入是这个样子
<link rel="stylesheet" type="text/css" href="../../../static/css/public.css"/>
动态引入是这个样子
<link rel="stylesheet" type="text/css" th:href="@{/static/css/public.css}"/>
为了在本地能正常引用到样式,需要把它俩写到一起:
<link rel="stylesheet" type="text/css" href="../../../static/css/public.css" th:href="@{/static/css/public.css}"/>
不用担心会多出个属性,thymeleaf会自动处理。
3.很多时候我们需要在前端的js中获取后端的变量。在获取变量之前我们最好设置

<script type="text/javascript" th:inline="javascript">    /*<![CDATA[*/    /*]]>*/</script>

获取值:

<script type="text/javascript" th:inline="javascript">    /*<![CDATA[*/    var username = /*[[${sesion.user.name}]]*/ 'zhangsan';    /*]]>*/</script>

在静态页面它的解析结果是:

<script type="text/javascript">    var username = 'zhangsan';</script>

在动态页面它的解析结果是:

<script type="text/javascript">    var username = 'admin';//获取session.user.name</script>

3.使用thymeleaf 的页面继承,包含时,如果项目中同时配置了jsp和thymeleaf模板,并且配置访问的规则是以.html/.jsp的形式。包含继承失效。
解决办法:
修改viewNames属性。以前缀的形式返回页.for example:

return "html/index";return "jsp/index";

之后继续补充thymeleaf的坑。

0 0