gpt4 book ai didi

java - 我可以使用具有多个值的 Thymeleaf switch 语句吗?

转载 作者:行者123 更新时间:2023-12-01 20:57:13 25 4
gpt4 key购买 nike

Controller

@ControllerAdvice
public class UserRoleAdvice {

private static final Logger log = LoggerFactory.getLogger(UserRoleAdvice.class);

@Autowired
UsersRepository usersRepository;

@ModelAttribute("currentRole")
public String currentRole(Principal principal, Model model) {
Users user = usersRepository.findOneByInitialName(principal.getName());
if (user != null) {
log.info(user.getRole().toString());
model.addAttribute("currentRole", user.getRole().toString());
return user.getRole().toString();
} else {
return "ANONYMOUS";
}
}
}

我正在使用 Thymeleaf switch 语句根据数据库中的值控制页面上显示的内容。

<th:block th:unless="${currentROLE} eq 'EMPLOYEE'">
<a href="/login" th:href="@{/login}" class="btn-login">Log In</a>
</th:block>

如果${currentROLE}显示字符串EMPLOYEE或MANAGER,我想隐藏登录页面,但如果${currentROLE}没有值则显示它>.

有没有办法做这样的事情(伪代码)?

<th:block th:unless="${currentROLE} eq 'EMPLOYEE' & || eq 'MANAGER'">
<a href="/login" th:href="@{/login}" class="btn-login">Log In</a>
</th:block>

甚至

<th:block th:unless="${currentROLE} exists>
<a href="/login" th:href="@{/login}" class="btn-login">Log In</a>
</th:block>

最佳答案

是的th:除非是正确的方法。但我认为你的支票是错误的。尝试使用:

"${currentROLE.name == 'EMPLOYEE'}"

和/或

"${currentROLE.name} == 'EMPLOYEE or MANAGER'"

"${currentROLE.name} == 'EMPLOYEE' or ${currentROLE.name} == 'MANAGER'"

关于java - 我可以使用具有多个值的 Thymeleaf switch 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42161115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com