我正在Spring Boot中设置一个基于角色的授权,使用用户角色作为thymeleaf下拉选择中的客户端或供应商。列表项来自Java private List<String> userRoles()
。如何迭代视图中的列表项?
我尝试使用Role.java模型类和User.java模型。我在List<String> userRoles()
中以
List<String> ROLE = new ArrayList<>();
ROLE.add("CLIENT");
ROLE.add("SUPPLIER");
控制器Java列表项
private List<String> userRoles() {
List<String> ROLE = new ArrayList<>();
ROLE.add("CLIENT");
ROLE.add("SUPPLIER");
return ROLE;
}
查看迭代次数
<select th:field="*{userRole}">
<option th:each="*ROLE:${userRoles}" th:value="${ROLE}" th:text="${ROLE}">
Select Role
</option>
</select>
我希望ROLE变量具有元素CLIENT和SUPPLIER,但这就是我得到的
'!', '!=', '%', '&#', '&&', '>', '<', '*', '+', '+=', ',', '-', '.', '/', <, <=, <Literal>, '==', '>', '>=', IDENTIFIER, STRING_IDENTIFIER, and, div, empty, eq, ge, gt, le, lt, mod, ne, not, or, '|' or '||' expected, got ':'
我想知道逻辑是错误的还是完全错误的方式
答案 0 :(得分:0)
收到该错误消息的原因是因为th:each
表达式中有一个额外的星号:
th:each="*ROLE:${userRoles}"
应该是
th:each="ROLE: ${userRoles}"