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

项目中使用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的坑。

发布了22 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_19408473/article/details/71542461
今日推荐