通过百里香片段共享数据

我有一个名为 thymeleaf 的片段nav,我包含在所有前端页面中,它是这样的:


<nav class="navbar navbar-expand-md navbar-dark bg-dark" th:fragment="nav">

    <div class="collapse navbar-collapse" id="navbarsExampleDefault">

        <ul class="navbar-nav mr-auto">

            <li class="nav-item active">

                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>

            </li>

How to get Java data here ?

        </ul>

    </div>

</nav>

但是我现在想做的是从数据库中获取一些数据,并在这个片段中提供这些数据,而这些数据又会出现在包含这个片段的每个页面上。


如果我想定期从控制器向视图传递数据,我会使用Model并model.addAttribute返回包含相关模型数据的适当视图,但是如何将数据传递给该片段?


森栏
浏览 95回答 1
1回答

慕容森

您可以创建一个拦截器并在postHandle方法上添加模型属性(这允许您访问ModelAndView对象。拦截器必须位于具有此片段的所有控制器上。您可以将相关模型属性添加到会话并通过${session.attribute}.结合使用@ControllerAdvice注解@ModelAttribute为所有控制器添加模型属性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java