在做項目的過程中,偶然間發現這個問題。後面找Bug找了好久,才發現是不同版本的Tomcat版本造成的錯誤。
問題描述:
看一下下面的JSTL片段:
片段一:
${qy.childQyList!=null&&fn:length(qy.childQyList)>0}
片段二:
${qy.childQyList!=null&&qy.childQyList.size()>0}
片段二是自己在本地做項目的時候寫的,在Tomcat7上可以完美執行。
但是放到生產環境後發現含有該jstl的片段會導致其所在的jsp頁面報500錯誤。【生產環境爲tomcat6】
報錯提示內容:
The function size must be used with a prefix when a default namespace is not specified
後面在網上搜索無果後,就一段一段的開始排查。最終發現原來是tomcat6中jstl不支持Java的原生方法。
So……問題解決。修改爲片段一,就可以完美運行拉。其他相關方法是否支持後續再驗證。。。