Spring MVC - не удается загрузить вид после перенаправления - PullRequest
0 голосов
/ 13 мая 2018

У меня есть следующий простой класс Controller с двумя методами:

@Controller
public class RegistrationController {

    private RegistrationService registrationService;

    @Autowired
    public RegistrationController(RegistrationService registrationService){
        this.registrationService = registrationService;
    }

    @RequestMapping(value = "/register", method = RequestMethod.POST, consumes = "application/json; charset=UTF-8")
    public String register(@RequestBody Customer customer) {
        registrationService.registerCustomer(customer);
        return "redirect:login";
    }

    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String login() {
        System.out.println("Login page");
        return "login";
    }
}

Конфигурация распознавателя в виде сервлета-диспетчера:

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
    <property name="prefix">
        <value>/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

Когда я отправляю запрос с json body на /register, он правильно регистрирует нового пользователя, затем он правильно перенаправляет на второй метод (в консоли я вижу «страницу входа»), но затем представление в браузере не изменить на login.jsp. Когда я просто набираю localhost: 8080 / login, он правильно отображает страницу login.jsp. Я также попытался вернуть new ModelAndView("login"), но это тоже не сработало.

1 Ответ

0 голосов
/ 17 мая 2018

Вариант 1: Попробуйте вернуть «redirect: / login» вместо «redirect: login»

Вариант 2. Попробуйте указать полный полный путь для перенаправления, в идеале вы можете вернуть перенаправление: / login, это перенаправит на путь относительно корня вашего веб-приложения - http://example.com/appName/login

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