到目前为止我已经安装了spring boot来进行手动执行。 passing on Tomcat 我在帖子里专门跑窗体有问题,以前没有的。我注意到 url 显示不正确,应用程序名称丢失了。
@RequestMapping(value = "/registrazioneNuovoRuolo", method = RequestMethod.GET)
public String showFormRegistrazioneRuolo(WebRequest request, Model model) {
RuoloDto RuoloDto = new RuoloDto();
model.addAttribute("ruolo", RuoloDto);
model.addAttribute("visite", visitaRepository.findAll());
return "registrazioneRuolo";
}
//Derivante dall'invio della form , effettuo la creazione del ruolo legando i dati acquisiti
@RequestMapping(value = "/registrazioneNuovoRuolo", method = RequestMethod.POST)
public ModelAndView registerNuovoRuolo(@Valid RuoloDto ruoloDto,
BindingResult result, WebRequest request, Errors errors , Model model) {
Ruolo ruolo = new Ruolo();
if (!result.hasErrors()) {
ruolo.setNome(ruoloDto.getNome().toUpperCase());
if(ruoloDto.getIdVisite()!=null)
ruolo.setVisite(visitaRepository.findAllById(ruoloDto.getIdVisite()));
ruoloRepository.save(ruolo);
return new ModelAndView("redirect:/homepageVIME","successInserimentoRuolo",true);
}
return new ModelAndView("redirect:/registrazioneNuovoRuolo","success",false);
}
我正确显示了表单,一旦我确认转到表单的 post 方法,url 是不正确的。我给你举个例子: http://localhost:8081/nameapp/registrazioneNuovoRuolo当我确认时是正确的 http://localhost:8081/registrationNuovoRuolo返回 404 因为缺少 nameapp
最佳答案
确保你在像下面这样的表单操作之前给出斜线,这样 spring 会自动在上下文路径 (nameapp) 前面添加..
action="/registrazioneNuovoRuolo"
如果上面的方法不起作用,那么您可以像下面这样在前面加上上下文路径。
"${#request.contextPath}/registrazioneNuovoRuolo" (thymeleaf)
action="${pageContext.request.contextPath}/registrazioneNuovoRuolo" (JSP)
关于spring - 将项目从spring boot部署到tomcat,post表单出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55059898/