我的项目名为CV;在jsp中,我有以下春天:" anagrafica.jsp"中的表单动作:
<form:form modelAttribute="anagrafica" action="${pageContext.servletContext.contextPath}/formazione/save" method="post">
我在控制器中的:
package it.curriculum.controller;
@Transactional
@Controller
@RequestMapping("/anagrafica")
public class AnagraficaController {
@Autowired
private ApplicationContext context;
@Autowired
private AnagraficaDao anagraficaDao;
@RequestMapping(method=RequestMethod.GET)
public String showHome(@ModelAttribute("tecnologia")Tecnologia tecnologia, ModelMap map){
map.addAttribute(context.getBean("anagrafica"));
return "anagrafica";
}
@Transactional
@RequestMapping(value="/save", method=RequestMethod.POST)
public String validateAnag(@ModelAttribute("anagrafica") Anagrafica anagrafica, @ModelAttribute("formazione") Formazione formazione){
anagraficaDao.save(anagrafica);
return "formazione"
}
}
问题是当我点击anagrafica表单的提交按钮时: 它执行前一个控制器内的代码,然后重定向到:
本地主机:8080 / CV / formazione /保存 为什么这样? 我只是想被重定向到
本地主机:8080 / CV / formazione
不
本地主机:8080 / CV / formazione /保存。 非常感谢您的帮助。
答案 0 :(得分:2)
您缺少redirect
关键字/机制。
您需要按以下方式重定向,
@RequestMapping("/save"){
...
return "redirect:/formazione";
答案 1 :(得分:0)
更改Class上的请求网址。
@Controller
@RequestMapping("/formazione")
public class AnagraficaController {
@Autowired
private ApplicationContext context;
....
答案 2 :(得分:0)
解决: 问题的形式是:行动:
action="${pageContext.servletContext.contextPath}/formazione/save"
必须是
action="${pageContext.servletContext.contextPath}/anagrafica/save"
进入控制器我把
redirect:/formazione
正如ScanQR建议的那样。非常感谢