所以我正在寫一個Spring 3 Web應用程序與JSP視圖和JSTL標記。他們通常工作得很好,但有一個控制器調用不能正確獲取標籤。JSTL對象在URL中,而不是在標記上下文
ModelAndView mav = new ModelAndView(
new RedirectView(RequestUtil.getWebAppRoot(request) + clientShortName, false)
);
mav.addObject("status","Session for interface successfully removed");
return mav;
所以,當我去引用它在我看來,我將有一個線,看起來像:
<p>status="${status}"</p>
剛剛顯示爲:
status=""
現在我會通常只是將此視爲導致我的視圖呈現不當的原因,但實際上我發現此座標附加到我的網址中:
?status=Session+for+interface+zFXDEV3+successfully+removed
因此,這給我留下了兩個問題:
- 爲什麼我不能從JSTL標記引用的對象?
- 如果我不能將它作爲標記上下文的一部分,它在URL中做了什麼?
和任何人想知道,這個類的類型有:
org.springframework.web.servlet.view.RedirectView.RedirectView
org.springframework.web.servlet.ModelAndView.ModelAndView(View view)
這不是JSTL,而是[Expression Language](http://stackoverflow.com/tags/el/info)(俗稱EL)。問題在於EL會在請求屬性中查找變量,但是當您重定向到JSP時,您具有'status'作爲請求參數。 – 2013-03-26 14:41:47
在處理重定向url的Controller返回的視圖中,此行是否爲'
status =「$ {status}」
'? – 2013-03-26 14:45:48