在servlet進行請求處理後,使用域對象做爲數據流轉的載體,將數據流轉給jsp文件,那麼怎麼在jsp文件中得到做用域中的對象呢?
傳統方式:在jsp中使用java腳本段語句。java
缺點:(1)須要導包。session
(2)須要強轉。app
(3)獲取數據的代碼過於麻煩。jsp
使用EL表達式獲取情求數據.3d
做用:獲取做用域對象中的數據(獲取的必定是pageContext,erquest,session,application中的的值,其餘數據一律不理會。)。對象
語法:${表達式}blog
表達式:作用域
request對象:若是是get方式中拼接在問號後的數據則用${request.Parma.鍵名}get
若是是經過setAttribute方式加加進去的數據,則用${request.鍵名},也能夠${[「鍵名」]},這種方法用於鍵名中有特殊符號servlet
例子:
能夠限定做用域:
複雜一點的例子:
servlet:
jsp:
運行結果:
用[]的方式來代替.
修改servlet:
若是繼續用.的方式
運行結果:
若是沒有限定查找的做用域,則按照pageContext-->request-->session-->application查找。
EL還能作一些邏輯運算。
${a+b}:其中a,b都會到做用域中去查找。
EL的空值判斷:
{empty 鍵名}