EL 提供“.”(點(diǎn)操作)和 [] 兩種運(yùn)算符來(lái)實(shí)現(xiàn)數(shù)據(jù)存取運(yùn)算。“.”(點(diǎn)操作)和 [] 是等價(jià)的,可以相互替換。例如,下面兩者所代表的意思是一樣的。
${sessionScope.user.sex}
等價(jià)于
${sesionScope.user["sex"]}
但是,需要保證要取得對(duì)象的那個(gè)屬性有相應(yīng)的 setXxx() 和 getXxx() 方法才行。
有時(shí),“.”和 [] 也可以混合使用,例如:
${sessionScope.shoppingCart[0].price}
提示:
注意下面兩種情況,“.”(點(diǎn)操作)和 [] 不能互換。
1. 當(dāng)要存取的數(shù)擇名稱(chēng)中包含不是字母或數(shù)字的特殊字符時(shí),只能使用 []。例如:
${sessionScope.user.["user-sex"]}
不能寫(xiě)成
${sessionScope.user.usis-sex}
2. 當(dāng)取得的數(shù)據(jù)為動(dòng)態(tài)值時(shí),只能使用 []。例如:
${sessionScope.user[param]}
其中,param 是自定義的曼量,其值可以是 user 對(duì)象的 name、sex、age 等。