mysql - 如何在 Spring Boot 中使用 Thymeleaf 保存角色?

标签 mysql spring spring-boot spring-data-jpa thymeleaf

friend 们好,我有两个模型,用户和角色。我在角色表中插入了三个角色(管理员、客户、经销商)。我已将这些角色提供给 Thymeleaf 用户类型字段,以便在注册期间进行选择。

角色的 Controller 模型属性。

@ModelAttribute("角色")

public List<Role> initializeRoles(){
    List<Role> roles = roleRepository.findAll();

    return roles ;
}

然后这是我的 thymeleaf,用于显示用户在注册期间选择的可用角色。


 <div class="col-1.5">
        <label th:for="roles"> User Type: </label>
        <select class="form-control form-control-sm" id="agentName">
            <option value="">Select User Type</option>
            <option th:each="initializeRoles:${roles}"
                    th:value="${initializeRoles.id}"
                    th:text="${initializeRoles.name}"
            >
            </option>
        </select>
    </div>

最后是我的用户服务,用于提交用户输入的注册数据:

public void save(User user) {
        user.setEnabled(false);
        user.setPword(new BCryptPasswordEncoder().encode(user.getPword()));
        user.setRoles(user.getRoles());
        userRepository.save(user);
    }

我期望从用户类型字段中选择的角色被提交并作为角色分配给该用户。但是,除了所选角色之外,其余用户数据均已成功保留。我哪里错了?

The database output after data is submitted to my tables.

最佳答案

选择标签中缺少属性name

以下内容将解决该问题

<select class="form-control form-control-sm" name="roles" id="agentName">

关于mysql - 如何在 Spring Boot 中使用 Thymeleaf 保存角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634700/

相关文章:

java - 如何克隆一个对象并递归地将Id设置为Null?

mysql - Asterisk res_config_mysql 模块丢失

mysql - 消除具有反向关系且没有主键的元组

PHP MySQL 注释

mysql - phpbb 3 SQL 删除用户和所有帖子

java - 无法使用 Spring Boot 运行 Web 应用程序

java - 如何使用 spring data cassandra 创建表?

java - 如何从 Spring Boot 获取操作系统环境变量?

java - JavaSpring 中的 SQL 查询返回 Null

java - 如何在 Redis 中指定 id 的长度