私はSpring-MVCベースのアプリケーションに取り組んでおり、プロセスで何か問題が発生した場合にエンドユーザーにエラーメッセージを表示する必要があります.hereは私がやっているコードです
GlobalMessages.addErrorMessage(model, "facebook.user.accessDenied");
return REDIRECT_PREFIX + "http://localhost:8080/storefront";
UI でタグを使用してエラー メッセージを表示していますが、リダイレクトを使用してエラー メッセージを削除しているようです。私はSpring-MVCが初めてで、それが正しいか間違っているかわかりません。
私が気付いた奇妙なことの1つは、URLをリダイレクトしている間に変更が加えられていることです
http://localhost:9001/storefront/?errorKey=facebook.user.accessDenied
これは addErrorMessage 関数の残りの部分です
public static void addErrorMessage(final Model model, final String messageKey)
{
addMessage(model, ERROR_MESSAGES_HOLDER, messageKey);
}
protected static void addMessage(final Model model, final String messageHolder, final String messageKey)
{
if (model.containsAttribute(messageHolder))
{
final Map<String, Object> modelMap = model.asMap();
final List<String> messageKeys = new ArrayList<String>((List<String>) modelMap.get(messageHolder));
messageKeys.add(messageKey);
model.addAttribute(messageHolder, messageKeys);
}
else
{
model.addAttribute(messageHolder, Collections.singletonList(messageKey));
}
}