私のビューリゾルバ:Spring 3 MVCリダイレクト:別のコントローラにリダイレクトしようとすると404が表示されます
<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を返すことを試みました。どんな助けもありがとうございます。
リダイレクトすると、アプリケーションのコンテキスト名を追加する必要があります。redirect:/ contextname/account/profile取得したURLが正しいかどうかを確認しますか? – Javi
何が起こりますか?リダイレクト後にアドレスバーにどのURLが表示されますか? – axtavt
私のアプリケーションパスは "/"なので、コンテキストはありません。 URLは「/account/account/profile.html」です。 "/ account"を削除すると、URLは "/profile.html"となります。 "account/profile"にすると、URLは.htmlのない "account/profile"になります。私が "/account/profile.html"にすると、ビュープレフィックスを追加しようとします。動作する組み合わせはないようです。 –