1. 程式人生 > >EL表達式獲取對象屬性的原理

EL表達式獲取對象屬性的原理

java 首字符 get rep 字符 lib 反射 lan user

EL表達式獲取對象屬性的原理是這樣的:
以表達式${user.name}為例
EL表達式會根據name去User類裏尋找這個name的get方法,此時會自動把name首字母大寫並加上get前綴,一旦找到與之匹配的方法,El表達式就會認為這就是要訪問的屬性,並返回屬性的值。

所以,想要通過EL表達式獲取對象屬性的值,那麽這個屬性就必須有與之對應的get方法。

其實你要了解EL表達式的運行原理,它其實後臺也對應的Java代碼,
它會先將你EL表達式中的對象屬性的首字符大寫,拼成getXX()方法,
然後利用反射將對象構建出來,然後再執行getXX()方法,
所以這中間不關私有屬性的事,調用的是私有屬性的get/set方法。

如果你不寫get/set方法,那EL表達式就拿不到值了。set方法是給你後臺設置值用的。

EL表達式獲取對象屬性的原理