今天在碼的時候發現在 el 表達式中的兩種使用方法,不知道能不能這麼使用,但是沒有報錯,並且可以正確的獲取到值。
這是細看最後的小計(只改了這一個),這麼兩種都可以獲得值,這兩種有什麼區別嗎? (orderItem屬性是私有的)
相信當你讀到文檔時(注意我選中部分),會知道,直接訪問屬性,不代表EL表達式有權限訪問一個JavaBean的私有屬性,而是透過自動呼叫getProperty方法來取得的資料。
在你的題目裡,既然${orderItem.getSubtotal()}可用,表示你真的提供了getter方法,那自然也可以直接用屬性名的方式取得資料了。
準確來講,透過屬性名獲取,是透過getter方法獲取數據的一個簡寫的語法糖罷了
其實第一種寫法的具體實現也是調用getSubtotal()
這個方法的,兩者並沒有什麼區別
*.abc *.getAbc()
沒任何區別,.abc處理後還是變成了.getAbc()
這樣得到一個結論,凡是有getter方法的都可以.屬性來取值