美文网首页
5、thymeleaf使用总结

5、thymeleaf使用总结

作者: ltjxwxz | 来源:发表于2017-12-27 22:33 被阅读0次

    没用thymleaf之前,一直不知道thymeleaf和jsp的区别在哪,也不知道它能不能完全代替jsp,动手用了才知道,thymleaf完全可以代替jsp,我理解的区别有以下几点:
    (1)是否启动项目:jsp需要项目启动才能看到页面,thymleaf不需要,不过引用css文件是需要项目根路径的,如果不起动的话,页面布局会混乱。
    (2)springboot的支持:springboot对jsp的支持有些牵强,前端页面仍然需要写在src\main\webapp下面,需要手动添加jsp配置,最重要的是,不支持jar包启动,跟以前写的java web项目一样,需要在容器中启动。而springboot对thymleaf支持很好,页面放在templates目录下,css和js文件放在static目录下,支持jar包启动,简直是零配置,热部署的话设置spring.thymeleaf.cache为false即可。
    (3)语法不同。下面会介绍项目中用到的一些语法。

    1、加命名空间

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

    thymleaf的语法都需要以 th 开头

    2、引用外部css,js文件

    <link th:href="@{/css/bootstrap.min.css}" rel="stylesheet" />
    

    @{/} 表示项目根路径

    3、导入公共页面

    <div th:replace="~{/common/top :: top}"></div>
    
    <div th:fragment="top" class="navbar navbar-fixed-top" style="background: #1186CB;">
    XXXX
    </div>
    

    /common/top:是/common下面的 top.html文件
    top:指名字为top的fragment

    4、从页面对象中取值
    4.1、获取session里的值:${session.TESTSUITELISTBYPROJECTID}
    4.2、获取request对象里的值:{TEST}

    5、循环遍历
    ${XXXStat.count} 是计数器,从1开始计数

    <tbody>
        <tr class="odd gradeX" th:each="testsuite : ${session.TESTSUITELISTBYPROJECTID}">
            <input type="hidden" th:value="${testsuite.testsuiteid}" th:id="testsuiteid+${testsuiteStat.count}"/>
            <td th:text="${testsuiteStat.count}"></td>
            <td th:text="${testsuite.name}"></td>
            <td th:text="${testsuite.memo}"></td>
        </tr>
    </tbody>
    

    6、判断语句

    <a th:if="${session!=null and session.USER!=null}" th:text="${session.USER.realname}">
    

    7、js中取值
    7.1、js中获取session中的对象
    [[${session.TESTSUITELISTBYPROJECTID.size()}]]
    7.2、js中获取项目根路径

    window.location.href = '[[@{/}]]' + 'testSuite/deleteByTestSuiteId/' + testsuiteid;
    

    相关文章

      网友评论

          本文标题:5、thymeleaf使用总结

          本文链接:https://www.haomeiwen.com/subject/stbpgxtx.html