0
我正在開發基於Spring-MVC的應用程序,並且需要在出現錯誤的情況下將錯誤消息顯示在最後 用戶。這是一段代碼我在做使用重定向時丟失的錯誤消息Spring-MVC
GlobalMessages.addErrorMessage(model, "facebook.user.accessDenied");
return REDIRECT_PREFIX + "http://localhost:8080/storefront";
我在UI中使用標籤來顯示錯誤消息,但似乎使用重定向只是放棄我的錯誤消息。 我是Spring-MVC的新手,不確定我是對還是錯。
,我注意到一個奇怪的是,雖然重定向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));
}
}
是的你是正確的'REDIRECT_PREFIX =重定向'。我有同樣的猜測失去value.Is有任何方法來保持這一點,同時使用'重定向' –
不,你不應該使用重定向,因爲它不會保留你的模型和BindingResult對象。當你重定向時,它會調用映射請求映射的控制器作爲你的url。 –
我的問題是我必須發回用戶到他/她從哪裏來的相同的位置和使用簡單的視圖不可能根據底層的框架結構:( –