【发布时间】:2021-04-01 08:07:30
【问题描述】:
我的 Spring Boot 项目在 /albums/add 有一个表单,如下所示:
<form method="post">
<input type="text" name="albumName"/>
<input type="submit" value="Add album"/>
</form>
我正在尝试在下面的控制器中处理该请求:
@Controller
@RequestMapping(value = "/albums")
public class AlbumController {
(...)
@PostMapping("/add")
public String processAddAlbumForm(@RequestParam String albumName) {
albums.add(albumName);
return "redirect:";
}
}
但是,Spring 抛出 400 并告诉我“必需的字符串参数 'albumName' 不存在”。
如果我在浏览器中查看“网络”选项卡,我可以看到请求到达时带有“表单数据”标题下的 albumName 值,而 @RequestParam 注释似乎找不到它。
我的代码是直接从 this tutorial 复制而来,但我担心某些东西可能会在制作后被弃用 - 有什么想法吗?
【问题讨论】:
-
您的
form没有action。你的控制器将如何被调用?
标签: java spring-mvc mapping http-request-parameters