【发布时间】:2021-02-24 14:29:31
【问题描述】:
以下是来自控制器的代码,我的目标是确保它从前端接口接收两个输入参数(名称和代码)。
这是一个在提交表单中接受两个参数“名称”和“代码”的页面。
@RequestMapping(method = RequestMethod.POST)
public String transfer(@RequestParam(name = "name") String name,
@RequestParam(name = "code") String code,
Errors errors, RedirectAttributes redirectAttributes) {
try {
User userToBeTransferred = usersRepository.findByName(name);
userToBeTransferred.setTransferred(true);
Region regionOfTransference = regionsRepository.findByCode(code);
regionOfTransference.setPopulationNumber(regionOfTransference.getPopulationNumber() + 1);
userToBeTransferred.setRegion(regionOfTransference);
usersRepository.save(userToBeTransferred);
regionsRepository.save(regionOfTransference);
return "redirect:/section/users/new";
} catch (IllegalArgumentException e) {
return "htmlPageOne";
}
}
首页表格:
<form class="form-horizontal" method="POST" action="/section/users/new" th:object="${user}">
<input type="hidden" th:field="*{id}"/>
<div class="form-group row">
<label for="name" class="col-form-label">User name</label>
<input type="text" class="form-control" id="name" th:field="*{name}" name="name"/></div>
<div class="form-group row">
<label for="code" class="col-form-label">Code</label>
<input type="text" class="form-control" id="code" th:field="*{region.code}" name="code"/></div>
<button type="submit" class="btn btn-primary col-sm-6 ">Save</button>
</form>
由于某种原因,点击提交表单后出现以下错误:
There was an unexpected error (type=Bad Request, status=400).
Required String parameter 'code' is not present
org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'code' is not present
我不确定我是否正确使用了请求参数,所以也许与此有关?我不知道,我已经坚持了几个小时了,如果有人可以帮助我,我将不胜感激。
【问题讨论】:
标签: java mysql spring spring-mvc thymeleaf