Как в Spring из FilterChain отправить ModelAndView?

Приветствую уважаемые форумчане.

Подскажите пожалуйста, как из фильтра вернуть ModelAndView. Редирект сделать можно, а вот вернуть ModelAndView , как то не получается.

Буду очень признателен за помощь.

package com.test;

import org.springframework.stereotype.Component;
import org.springframework.web.filter.GenericFilterBean;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@Component
public class Test extends GenericFilterBean {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {


        HttpServletRequest httpServletRequest = (HttpServletRequest) request;
        HttpServletResponse httpServletResponse = (HttpServletResponse) response;
        
        
        httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + "/test");
        
            chain.doFilter(request, response);

    }

}
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Spring
Java Software Engineer
Думаю, что вот тут ответ на ваш вопрос -
https://stackoverflow.com/questions/3616763/settin...
В частности:
i think this is not possible, because this is a servlet filter, which would be applied after the spring request mapper servlet was applied. so basically, the request mapper servlet thinks it is finished, and passes the request back to the servlet container.
view names only work INSIDE of spring - outside of spring, in the servlet container, you will have to talk about urls, not view names.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект