Thymeleaf片段逻辑

时间:2017-05-28 17:44:31

标签: spring-boot thymeleaf

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

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

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

编辑:基本上我想做相当于angular的指令。

1 个答案:

答案 0 :(得分:0)

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

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

UserService:

@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>