今天在JSP利用EL表達式取值報了 "javax.el.PropertyNotFoundException”,經過debug和打印將問題定位到這段代碼:
HTML應該是沒啥問題,看提示在java.lang.string類型上找不到屬性“product”,應該是EL表達式哪里寫錯了,然后將圖中EL表達式重新寫了一遍:
然后神奇的不報錯了,搞得我一臉蒙蔽,我將每段代碼都比對了一下,沒發現哪里不對,干就干徹底,替換每段代碼測試,結果第一段替換進去就OK了
仔細檢查了兩段代碼:
//報錯代碼 <c:forEach items="${order.orderItems } " var="orderItem"> //成功代碼 <c:forEach items="${order.orderItems }" var="orderItem">
睜開我的鈦合狗眼看了N遍,終於發現明明一樣的代碼,長度卻不同。
再檢查,細心又帥氣的我發現第一段代碼在EL表達式的花括號“}”結尾與雙引號中間多了個空格
這里是不能有空格的
這玩意浪費我兩小時的時間去排查,寫代碼的時候一定要細心細心再細心!