【问题标题】:generate menu bar in thymeleaf (Spring Boot)在 thymeleaf (Spring Boot) 中生成菜单栏
【发布时间】:2017-05-07 00:37:28
【问题描述】:

是否可以在spring boot中生成某种菜单栏并显示在所有网页上?
所以我有一个网络服务,我想在其中添加一个菜单栏,菜单栏应该是灵活的,因为它仍然是一个正在进行的项目。

起初,我的想法是使用 Java 反射,但这不会很好,因为它只显示方法名称,这与页面名称不同......(如 getClient(...) 应该有视图客户端的页面名称。我也尝试过内置功能来反映 Spring Boot 映射并给它们命名,但是您会遇到无法对某些页面进行分组的问题。

所以我的最后一个想法是手动生成一个 json 并在每次加载页面时对其进行解析,这样我就可以做类似的事情

<th:block>
    <li th:each="item : ${json}">
         <a th:href="@{http://domain.com/__${item.link}__}" th:text="${item.name}"/>
    </li>
</th:block>

那么我该如何解析这个 Json 对象呢?不开设新课程?

提前致谢, 贾里·范·梅尔克贝克

【问题讨论】:

  • 我不知道你想要达到什么目标。如果您想在每个页面上添加一个菜单栏,您可以尝试 thymeleaf 布局方言、apache tile 或者如果您使用 thymeleaf3 编写 SpringTemplateEngine 的自定义实现,如下所示:stackoverflow.com/questions/37322740/…

标签: java json spring spring-boot thymeleaf


【解决方案1】:

您说的更像是站点地图吗?这会为您提供一个包含网站所有可能 URL 的页面。

我要做的是将actuator 包添加到您的Spring Boot 项目中。然后我会点击mappings 端点查看http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html,它将生成您的 JSON 文件,然后在您的模型属性中创建一个 URL 列表,供 Thymeleaf 进行渲染。

【讨论】:

    猜你喜欢
    • 2019-12-30
    • 2018-08-16
    • 1970-01-01
    • 2017-10-06
    • 2020-04-20
    • 2017-07-14
    • 2016-11-30
    • 2016-09-23
    • 2018-10-02
    相关资源
    最近更新 更多