我的数据库(mysql)中有一个作业表。该表包含一个 id、一个 varchar 标题(管理员、项目负责人等)和一个 varchar 角色列。角色列由 Spring Security 在登录过程中使用,可以有两个值 ROLES_ADMIN
和 ROLES_USER
。
我创建了一个编辑页面,管理员可以在其中编辑任何现有作业。我想要做的是将选择限制为用户和管理员,但选择标记应显示管理员和用户,而不是显示 ROLE_ADMIN 和 ROLE_USER。
类似这样的:
选项 1 显示文本管理员在数据库中保存 ROLE_ADMIN
选项 2 显示文本“用户将 ROLE_USER 保存在数据库中”
目前我的标签看起来像这样
<select name="role">
<option th:each="job: ${jobs}" th:value="${job.role}" th:text="${job.role}"></option>
</select>
它显示 ROLE_USER 和 ROLE_ADMIN 并保存它们
最佳答案
你应该改变
th:text="${job.role}"
插入您想要显示的文本并保持th:value
不变。
为此,您可以在 Job 类中创建一个 getter
public String getDisplayRole() {
return ""; // split role on _, take second element and make title case for example
}
然后th:text="${job.displayRole)"
关于html - Spring Thymeleaf 如何使用 select 和 option html 标签在数据库中保存特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46112753/