【Thymeleaf之Template Layout】使用Navication让导航栏在每一个页面保持一致

【Thymeleaf之Template Layout】使用Template Layout让导航栏在每一个页面保持一致

1、导入JQuery

  • https://jquery.com/.在这里插入图片描述
  • 新建文件:jquery-3.4.1.min.js,把下载好的东西全部复制进去
    在这里插入图片描述
  • 引入JS文件,注意路径:与下面BootStrap的一致
    在这里插入图片描述

2、新建Navication.html

  • 官方文档链接. 8.1 Including template fragments

  • 新建一个Navication.html,放入模板,把导航栏放入模板中

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

<body>

<div th:fragment="nav">
    <nav class="navbar navbar-default">
        <div class="container-fluid">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                        data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="/flush">中意社区</a>
            </div>

            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
                    <li><a href="#">Link</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                           aria-expanded="false">Dropdown <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">Action</a></li>
                            <li><a href="#">Another action</a></li>
                            <li><a href="#">Something else here</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">Separated link</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">One more separated link</a></li>
                        </ul>
                    </li>
                </ul>
                <form class="navbar-form navbar-left">
                    <div class="form-group">
                        <input type="text" class="form-control" placeholder="Search">
                    </div>
                    <button type="submit" class="btn btn-default">Submit</button>
                </form>
                <ul class="nav navbar-nav navbar-right">
                    <li th:if="${session.user == null}">
                        <a href="/regiest">注册</a>
                    </li>
                    <li th:if="${session.user != null}">
                        <a href="/publish">发布</a>
                    </li>
                    <li class="dropdown" th:if="${session.user != null}">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
                            <span  th:text="${session.user.getUsername()}"></span>
                            <span class="caret"></span>
                        </a>
                        <ul class="dropdown-menu">
                            <li><a href="#">个人中心</a></li>
                            <li><a href="#">占位符</a></li>
                            <li><a href="#">占位符</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="/index">退出登录</a></li>
                        </ul>
                    </li>

                    <li class="dropdown" th:if="${session.user == null}">
                        <a href="/login">登录</a>
                    </li>

                </ul>
            </div>
        </div>
    </nav>
</div>

</body>

</html>

3、在主页引用Navication.html

<!--导航栏-->
<div th:insert="~{navication :: nav}"></div>

完工!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Thymeleaf一个流行的模板引擎,它可以与Spring框架很好地集成。下面是一个简单的示例,演示如何使用Thymeleaf设计导航栏模板页面: 1. 创建一个名为 "nav.html" 的模板文件,并在其中添加以下代码: ``` <nav> <ul> <li><a href="/">Home</a></li> <li><a href="/about">About</a></li> <li><a href="/contact">Contact</a></li> </ul> </nav> ``` 2. 在需要使用导航栏页面中,使用以下代码来包含模板: ``` <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>My Page</title> </head> <body> <div th:replace="nav :: nav"></div> <h1>Welcome to my page</h1> <!-- rest of the page content --> </body> </html> ``` 这里的 "nav" 是模板文件名, "::" 符号表示使用片段选择器,"nav" 表示片段名。这个代码会将 "nav.html" 文件中的导航栏插入到页面中。 3. 在Spring Boot应用程序中,可以使用以下代码来配置Thymeleaf: ```java @Configuration public class ThymeleafConfig { @Bean public ClassLoaderTemplateResolver templateResolver(){ ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver(); templateResolver.setPrefix("templates/"); templateResolver.setSuffix(".html"); templateResolver.setTemplateMode("HTML"); return templateResolver; } @Bean public SpringTemplateEngine templateEngine(){ SpringTemplateEngine templateEngine = new SpringTemplateEngine(); templateEngine.setTemplateResolver(templateResolver()); return templateEngine; } @Bean public ThymeleafViewResolver viewResolver(){ ThymeleafViewResolver viewResolver = new ThymeleafViewResolver(); viewResolver.setTemplateEngine(templateEngine()); return viewResolver; } } ``` 这里的 "templates/" 是你的模板文件所在的相对路径,可以根据自己的需要进行修改。 以上就是使用Thymeleaf设计导航栏模板页面的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值