2016-12-15 6 views
0

мой проект называется CV; в JSP У меня есть следующая весна: форма действия в «anagrafica.jsp»:неправильный URI прошел через действие формы весны

<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

положите весь ваш код или достаточно, чтобы дать вам отзыв – ScanQR

+0

Неправильно? '@RequestMapping ("/anagrafica ")' – chaoluo

ответ

1

Вам не хватает redirect ключевое слово/merchanism.

Вам нужно перенаправить следующим образом,

@RequestMapping("/save"){ 
    ... 
return "redirect:/formazione"; 
+0

попытался, тот же результат: 404 и URL: http: // localhost: 8080/CV/formazione/save – Fausto

+0

@Fausto у вас есть соответствующее сопоставление, к которому вы перенаправляетесь? – ScanQR

+0

после вашего ответа я заметил шаги между URL-адресами, где это неверно. Большое спасибо – Fausto

0

Изменение URL запроса на класс.

@Controller 
@RequestMapping("/formazione") 
public class AnagraficaController { 
    @Autowired 
    private ApplicationContext context; 
    .... 
+0

спасибо chaoluo, но мне нужно, чтобы requestMapping; есть предыдущая форма, которая перенаправляется на «anagrafica», если я удалю это сопоставление, предыдущее действие формы дает мне 404, потому что больше нет отображения для «anagrafica», – Fausto

0

решаемая: проблема заключалась в следующем виде: действия:

action="${pageContext.servletContext.contextPath}/formazione/save" 

должен быть

action="${pageContext.servletContext.contextPath}/anagrafica/save" 

и в контроллер я поставил

redirect:/formazione 

, как ScanQR. Большое спасибо