html - Spring Thymeleaf 如何使用 select 和 option html 标签在数据库中保存特定值

标签 html mysql spring thymeleaf

我的数据库(mysql)中有一个作业表。该表包含一个 id、一个 varchar 标题(管理员、项目负责人等)和一个 varchar 角色列。角色列由 Spring Security 在登录过程中使用,可以有两个值 ROLES_ADMINROLES_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/

相关文章:

php - MySQL 如何在 PHP 变量中存储 FOUND_ROWS()

mysql - 我需要找到任何 5 行匹配 where 子句并且它们出现 "in a row"(它们是邻居)

java - 如何提高遗留 Spring 应用程序 : MySQL MySQLNonTransientConnectionException 的性能

javascript - 我正在使用 javascript 提交表单,但我无法在 php 页面中获取值

html - 防止在可滚动的 flex 容器中收缩并垂直放置 flex 元素

javascript - FF 和 IE 中的多个 jPlayer 实例问题

Java Quartz Spring 事务支持

html - 如何正确设置面板的最小高度和最大高度并 overflow hidden 的任何内容?

php - 如何使用 explode() 将查询值拆分为多个多行以用于选择标记

java - 迁移到 Spring Boot 2.0 后应用程序上下文监听器不起作用