EL表達式屬性的范圍


EL表達式是jsp用來取值的,但是如果其他域中也存儲了相同的數據,那么用EL表達式取出相同的名稱會怎樣?

 

通過Servlet在request和session中設置名為username的屬性,但是值不一樣,最后轉發到show.jsp頁

 

然后在show.jsp頁面

運行結果:

 

 

 從這里可以看出在request和session作用域中設置了username屬性,使用EL語句調用,最終輸出的是request域中的屬性。

這是因為:EL表達式中{}中只有屬性名時,會依次去四個作用域page,request,session,application中進行查找,查看是否有屬性名為username的屬性

如果page沒找到,就依次向下找。但是,如果找到了,就不會再繼續向下找了。

所以,我們需要指定作用域。每個作用域都可以對應一個EL中的名稱:

 

 

作用域       EL中的表示
 page pageScore
request requestScore
session sessionScort
application applicationScore

 

運行截圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM