Spring 3 MVC redirect: выдаёт 404 при попытке перенаправить на другой контроллер - PullRequest
0 голосов
/ 27 ноября 2010

распознаватель моего вида:

<bean id="htmlView" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views" />
    <property name="suffix" value=".jsp" />
</bean>

Мой контроллер:

@RequestMapping(value="/account/register", method=RequestMethod.POST)
public String registerHandler(@Valid RegisterForm registerForm, BindingResult bindingResult) {
    if (bindingResult.hasErrors()) {
        return "/account/register";
    }
    return "redirect:/account/profile";
}

Если есть ошибки, он просто возвращается обратно на страницу регистрации учетной записи. После прочтения некоторых официальных документов оказывается, что редирект попытается разрешить представление в текущем контексте сервлета. Так как «учетная запись / профиль» находится в другом контроллере, он не знает, что с ним делать. Я попытался вернуть RedirectView без особого успеха. Любая помощь приветствуется.

1 Ответ

2 голосов
/ 28 ноября 2010

То, что вы видите /account/account/profile.html после перенаправления, немного странно. Есть ли у вас аннотация @RequestMapping("account") в любом из ваших объявлений класса контроллера (в отличие от метода контроллера) случайно?

Если вы измените другой контроллер на использование другого каталога верхнего уровня (например, учетных записей), будет ли он вести себя так же?

Наконец, попробуйте включить ведение журнала уровня отладки для org.springframework, поскольку он покажет вам, какие URL-пути попадают в какие классы контроллеров.

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