【问题标题】:Thymeleaf fragment logicThymeleaf 片段逻辑
【发布时间】:2017-05-28 17:44:30
【问题描述】:

所以我尝试为我的 spring 应用程序创建一个简单的页面布局,只有一个标题和一个内容。 一般来说它并不复杂,我可以创建一个标题片段,插入任何视图中,它工作得很好。

现在我想在标题中添加头像和用户名。我能想到的第一件事是创建一个代码来处理这个标题逻辑,以某种方式获取用户并将其放入模型中,以便它可以被 thymeleaf 正确处理。

有什么办法吗?我的意思是有没有办法在视图中包含一个片段,但不在相应的控制器中手动调用任何函数(获取用户,或者通常执行片段的逻辑)?

edit:基本上我想做等效的角度指令。

【问题讨论】:

  • spring-security 和 thymeleaf 可以很好地协同工作。 example
  • 那么有用户的只是一个例子。我可能想做另一个片段来展示广告。我想为此提供一个逻辑(例如,使用 java 代码获取适当的广告,而不是使用 javascript 异步加载它)

标签: spring-boot thymeleaf


【解决方案1】:

您可以使用Bean References 直接在bean 上调用方法。

例如,下面我定义了一个UserService bean,它有一个getCurrentUser 方法。在 Thymeleaf 表达式中,您可以使用 @userService.getCurrentUser() 调用该方法。

用户服务:

@Service
public class UserService {
    public User getCurrentUser() {
        User user = ... do some work to get current user
        return user;
    }
}

模板:

<div>
    Logged in as: <span th:text="${@userService.getCurrentUser().getName()}"></span>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 2020-11-20
    • 2014-01-25
    • 2016-04-22
    • 1970-01-01
    相关资源
    最近更新 更多