当前位置: 首页 > 知识库问答 >
问题:

我在注册表中的用户字段出现错误

轩辕鸿祯
2023-03-14

Java . lang . illegalstateexception:在org . spring framework . web . servlet . support . bind status .(bind status . Java:153)~[spring-web MVC-5 . 3 . 13 . jar:5 . 3 . 13]在org . spring framework . web . servlet . support . request context . getbindstatus(request context . Java:903)~[spring-web MVC-5 . 3 . 13 . jar:5.3

HTML语言

    <form action="#" th:action="@{/process_register}" th:object="${user}" method="post">
    
                    <h4 class="mb-4 pb-3">Sign Up</h4>
                    <div class="form-group">Username
                        <input type="text" th:field="*{username}" class="form-style">
                    </div>  
                    <div class="form-group mt-2">Password
                        <input type="password" th:field="*{password}"  class="form-style">
                    </div>
...</form>

控制器:

    @GetMapping("/register")
    public String showRegistrationForm(Model model) {
        model.addAttribute("user", new User());

        return "signup_form";
    }



@PostMapping("/process_register")
public String processRegister(Model theModel, User user) {
    
    BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
    String encodedPassword = passwordEncoder.encode(user.getPassword());
    
    user.setPassword(encodedPassword);
    userService.save(user);
    return "Wellcome";
}

共有1个答案

韶英达
2023-03-14

很可能您忘记在控制器方法中将用户对象添加到模型,这使您进入此表单页面。为了确保这种情况不会最好地发生,只需将模型归因方法添加到始终负责此问题的控制器:

@ModelAttribute("user") 
public User user() { 
  return new User(); 
}

另外,请确保用户类有getters、setters,没有定义arg构造函数——这对百里香很重要

 类似资料:
  • 我根据Symfony文档开发了一个基本的用户注册表。我在尝试提交密码和失败登录计数不能为空的表单时收到验证错误: 类: 用户实体: 控制器: 问题似乎是表单验证程序返回false,因为它需要“password”和“failedLogins”字段。如代码示例所示,我不希望在表单中包含这些字段,并在表单提交后对其进行处理。。。 如果我将虚拟隐藏字段添加到表单生成器中,则表单可以正常处理: 然而,这似乎

  • 我使用laravel 5.2默认用户注册和登录表单。我的要求是创建两种类型的用户。它不是一种用户和管理员。但其两种类型的用户在网站user1和user2中具有不同的注册表单字段。因此,我已经复制了register.blad.php并创建了一个函数在authControler。为了区分数据库中的两个表单值,我使用了一个名为user_type的字段。user_type是两个注册表单中的隐藏字段。这是我

  • 我正在尝试一个LaravelPHP项目,因为我是这个框架的新手。我要做的第一步是建立一个登记表。但是,当我单击Submit按钮时,没有给出任何错误,并且在我的users表中没有注册任何内容。 以下是到目前为止我的项目的代码: 我的用户迁移表上下功能 我的注册表控制器具有重要功能 我的路线 我的User.php模型可填充 受保护的$fillable=['姓名','性别','年龄','电子邮件','密

  • 这是错误: 照明\数据库\查询异常SQLSTATE[42S22]:找不到列: 1054未知列"在'where子句'(SQL:选择计数(*)作为聚合从在哪里"=user@email.com) 我的Resgister控制器: }我的用户表迁移:

  • 我需要填写SpringBoot的登记表。为此,我创建了两个类:< code>User和< code>Credentials,第二个类处理唯一的用户名和密码。 这是(处理请求): 现在应该已经准备好了,可以从html表单读取数据,并使用注册新用户。这是<code>注册中的注册表格。html</code>,我的目标是读取用户名和密码,然后创建一个新用户并将其保存在Postgres上: 但是当我导航到r

  • 我正在尝试在Spring Boot应用程序中配置Spring Security性。在另一边,Angular正在运行。联系地址时 I get error 403我重读了一堆类似的问题。答案在任何地方都是一样的。错误通过添加来处理 csrf在我的配置中被禁用,它写在SecurityConfig类中。 还有什么问题?链接到此处项目的存储库 日志文件非常大,所以我抛出了一个指向日志的链接 log Spri