EL 提供“.”(点操作)和 [] 两种运算符来实现数据存取运算。“.”(点操作)和 [] 是等价的,可以相互替换。例如,下面两者所代表的意思是一样的。
${sessionScope.user.sex}
等价于
${sesionScope.user["sex"]}
但是,需要保证要取得对象的那个属性有相应的 setXxx() 和 getXxx() 方法才行。
有时,“.”和 [] 也可以混合使用,例如:
${sessionScope.shoppingCart[0].price}
注意下面两种情况,“.”(点操作)和 [] 不能互换。
(1) 当要存取的数择名称中包含不是字母或数字的特殊字符时,只能使用 []。
例如:
${sessionScope.user.["user-sex"]}
不能写成
${sessionScope.user.usis-sex}
(2) 当取得的数据为动态值时,只能使用 []。
例如:
${sessionScope.user[param]}
其中,param 是自定义的曼量,其值可以是 user 对象的 name、sex、age 等。
本文详细讲解了EL表达式中'.('点操作符'')'和'[]'的使用规则,特别强调了特殊字符处理、动态属性获取以及何时选择点操作或方括号操作。了解如何正确处理非字母数字字符,以及如何根据数据动态性灵活运用这两种方式。
1419

被折叠的 条评论
为什么被折叠?



