我有一个 html 页面(格式 - FTL),在其中我尝试将数据发送到 Controller 方法。我只是想打印用户输入的项目,一开始没什么特别的。我收到错误 - 必需的字符串参数“user_id”不存在

我使用 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> 

这是 Controller -

@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"; 
} 

请您参考如下方法:

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

您必须匹配 Controller 方法签名

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

将表单标记更改为以下代码行。

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


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!