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);
}
我期望从用户类型字段中选择的角色被提交并作为角色分配给该用户。但是,除了所选角色之外,其余用户数据均已成功保留。我哪里错了?
最佳答案
选择标签中缺少属性name
以下内容将解决该问题
<select class="form-control form-control-sm" name="roles" id="agentName">
关于mysql - 如何在 Spring Boot 中使用 Thymeleaf 保存角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59634700/