развернуть проект из весенней загрузки в Tomcat, ошибка в форме сообщения - PullRequest
0 голосов
/ 08 марта 2019

Я установил пружинную загрузку для выполнения вручную.При переходе на 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);
    }

Я правильно отображаю форму, как только я подтверждаю перейти к методу публикации формы, URL-адрес неверен.Я показываю вам пример: http://localhost:8081/nameapp/registrazioneNuovoRuolo, и это правильно, когда я подтверждаю http://localhost:8081/registrationNuovoRuolo, что возвращается 404, потому что отсутствует nameapp

Ответы [ 3 ]

1 голос
/ 08 марта 2019

Убедитесь, что вы используете косую черту перед действием формы, как показано ниже, чтобы Spring автоматически добавляла контекстный путь (nameapp) ..

action="/registrazioneNuovoRuolo"

Если выше не работает, то вы можете добавить путь к контексту, как показано ниже.

"${#request.contextPath}/registrazioneNuovoRuolo" (thymeleaf)


action="${pageContext.request.contextPath}/registrazioneNuovoRuolo" (JSP)
1 голос
/ 08 марта 2019

Здесь у вас одинаковые конечные точки (@RequestMapping(value = "/registrazioneNuovoRuolo" ) с двумя разными методами, которые могут вызвать проблему.Когда вы отправляете запрос через веб-браузер, это запрос GET.Чтобы сделать запрос POST, вы должны использовать Postman и аналогичные инструменты, если вы не создали формы с помощью метода POST.С Tomcat также нет проблем1009 *

0 голосов
/ 08 марта 2019

Я решил по-другому: добавив WebRequest на контроллер и атрибут model.addAttribute ("contextPath", request.getContextPath ()); Так что я изменил действие с этим. Большое спасибо;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...