JSTL,幾近暈倒的幾個小問題

一、版本問題,web.xml文件使用的DTD版本如果爲2.3則對應JSTL的1.0版,2.4則對應1.1版。如果發現報錯說JSTL標籤裏的表達式沒有接收到任何值的時候,估計是版本出的錯。到Google查下,很多解決方法。
二、List的c out。如果你的實體繼承了List,而添加了一些屬性,想要在頁面直接輸出這些屬性,你可能這樣做:
<c:out value="${mylist.myproperty}"/>但是你會發現這是個錯誤:
javax.servlet.ServletException: The  operator was supplied with an index value of type  to be applied to a List or array, but that value cannot be converted to an integer.
原因是這樣的,當表達式的實體是一個List或者數組數型的話,"."操作符後面跟的屬性一律被看作是List或數組的下標了。JSTL試圖把它們轉成整型,失敗就會報錯。
不但Out標籤存在這個特點,其他也一樣。所以在設計實體的時候,如果需要用到List的功能,最好加一個List的成員變量。不需要直接繼承。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章