所以我尝试为我的spring应用程序创建一个简单的页面布局,只是标题和内容。 一般来说它并不是很复杂,我可以创建一个标题片段,在任何视图中插入并且它可以正常工作。
现在我想在标题中添加头像和用户名。我能想到的第一件事就是创建一个代码来处理这个头部逻辑,以某种方式获取用户并将其放入模型中,以便百万富翁可以正确处理它。
有什么办法吗?我的意思是有一种方法可以在视图中包含一个片段,但不能在相应的控制器中手动调用任何函数(以获取用户,或者通常用于执行片段的逻辑)?
编辑:基本上我想做相当于angular的指令。
答案 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>