HTML中的用户注册表单-不存在必需的字符串参数'user_id'

时间:2018-11-26 11:05:16

标签: java spring-mvc freemarker

我有一个html页面(格式-FTL),我正在其中尝试将数据发送到控制器方法。我只尝试打印用户键入的项目,开始时没有任何幻想。我收到错误消息-Required String parameter 'user_id' is not present

我与spring mvcfreemarker合作。

这是signup.ftl文件-

    <form method="POST", action="GET">
  <div class="container">
    <h1>Register</h1>
    <p>Please fill in this form to create an account.</p>
    <hr>

    <label for="email" id="email"><b>Email</b></label>
    <input type="text" placeholder="Enter Email" name="email" required>

    <label for="password" id="password"><b>Password</b></label>
    <input type="password" placeholder="Enter Password" name="password" required>

    <label for="user_id" id="user_id"><b>User ID</b></label>
    <input type="text" placeholder="user_id" name="user_id" required>
    <hr>
    <p>By creating an account you agree to our <a href="#">Terms & Privacy</a>.</p>

    <button type="submit" class="registerbtn">Register</button>
  </div>

  <div class="container signin">
    <p>Already have an account? <a href="#">Sign in</a>.</p>
  </div>
</form>

</body>
</html>

这是控制器-

@RequestMapping(value = "/signup", method = RequestMethod.GET)    
public String signup(@RequestParam("user_id")String user_id, @RequestParam("password")String password, @RequestParam("email")String email, Model model) {
    System.out.println("coming in controller" + user_id + " " + password);
    return "signup";
}

1 个答案:

答案 0 :(得分:1)

您传递了错误的操作方法和值。

您必须匹配控制器方法签名

@RequestMapping(value = "/signup", method = RequestMethod.GET)

将表单标签更改为下面的代码行。

<form method="GET", action="signup">