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