在JSP頁面中,我們可以使用以下屬性訪問屬性:${name}
。但是,如果我們在sevlet中執行以下操作:表達式語言。主導變量
req.getSession.setAttribute("name", sessionName);
getServletContext().setAttribute("name", sevletContextName)
req.setAttribute("name", reqName);
那麼哪個變量JSP將在訪問時使用?
$ {name}的
在JSP頁面中,我們可以使用以下屬性訪問屬性:${name}
。但是,如果我們在sevlet中執行以下操作:表達式語言。主導變量
req.getSession.setAttribute("name", sessionName);
getServletContext().setAttribute("name", sevletContextName)
req.setAttribute("name", reqName);
那麼哪個變量JSP將在訪問時使用?
$ {name}的
的JSP EL看起來頁面,然後請求,然後會話,然後應用。
如果你想明確地訪問會話,使用
${sessionScope.name}
對於servlet上下文,使用
${applicationScope.name}
(以及類似的pageScope
和requestScope
)
嗯,謝謝。但pageScope和requestScope有哪些不同?請求範圍直到服務器asnwers(因爲1個請求可能在幾個servlet,jsp頁面等之間傳輸),頁面範圍僅存在於1個servlet或1個jsp中。這個權利? – MyTitle 2012-01-15 10:49:53
如果您在JSP頁面中定義頁面範圍屬性,例如使用
爲什麼我需要使用pageContext.setAttribute()而不是使用類變量?因爲不是線程安全的?或其他原因? – MyTitle 2012-02-08 18:17:03
的http://文檔.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html – alf 2012-01-15 10:48:27