Der ControllerKann ich Thymeleaf-Switch-Anweisungen mit mehreren Werten verwenden?
@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";
}
}
}
ich eine Thymeleaf switch-Anweisung bin mit zu steuern, welche in der Datenbank basierend auf einem Wert auf meiner Seite angezeigt wird.
<th:block th:unless="${currentROLE} eq 'EMPLOYEE'">
<a href="/login" th:href="@{/login}" class="btn-login">Log In</a>
</th:block>
Ich mag die Login-Seite verbergen, wenn ${currentROLE}
die Zeichenfolge EMPLOYEE zeigt, oder Manager, aber es dann zeigen, wenn kein Wert für ${currentROLE}
ist.
Gibt es eine Möglichkeit etwas wie diese (Pseudo-Code) zu tun?
<th:block th:unless="${currentROLE} eq 'EMPLOYEE' & || eq 'MANAGER'">
<a href="/login" th:href="@{/login}" class="btn-login">Log In</a>
</th:block>
Oder sogar
<th:block th:unless="${currentROLE} exists>
<a href="/login" th:href="@{/login}" class="btn-login">Log In</a>
</th:block>
Seltsam. Der zweite gibt mir einen verrückten Fehler: "HTTP Status 500 - Anfrage Verarbeitung fehlgeschlagen; verschachtelte Ausnahme ist org.thymeleaf.exceptions.TemplateInputException: Fehler bei der Vorlage passierte Parsen (Vorlage: „Klassenpfad Ressource [templates/home.html]“) '' – santafebound
@santafebound aktualisiert Antwort. Sollte jetzt funktionieren. – Patrick
Danke. Ich habe den mittleren benutzt, aber sie haben alle funktioniert. – santafebound