今天myeclipse裡部署了之前做的一個測試專案,發現jsp裡的$符號tomcat啟動後頁面上顯示出來了,百度搜了下別人也有類似的問題出現過。經提醒原來是web.xml配置的version設定的是2.5而我tomcat5啟動的。是tomcat的版本低於web的版本,從而導致$符號不能正常使用。
後將tomcat5改用tomcat6。jdk採用1.6 啟動spring2.5項目。$顯示問題解決。
以下是網上摘錄的詳細說明:
在jsp頁面中用運算式語言中的$符號,如${pageScope.title}輸出時,輸不出內容還是${pageScope.titl}原封不動的顯示
但是事實上,通過在當前jsp頁面運行下面代碼,可以測試pageContext.getAttribute("title")是有值的
<% ... pageContext.setAttribute("title",aboutusBean.getTitle()); System.out.println("pageContext="+pageContext.getAttribute("title"));%>
我是用的Tomcat5.5的版本,它只支援servlet/JSP規範版本:2.4/2.0,而我的web.xml中配置的是2.5規範,所以導致$符號不能正常使用了。
1.檢查你的web.xml檔案,保證是Servlet 2.4以上版本的,並沒有禁用EL。
2.檢查你的Web伺服器,保證支援Servlet 2.4及以上規範。
3.注意Tomcat的版本,每個Tomcat的版本支援Servlet的規範是不一樣的
4.Tomcat的版本及支援的Servlet的規範如下:
Tomcat:6.0.13 實現的servlet/JSP規範版本:2.5/2.1
Tomcat:5.5.23 實現的servlet/JSP規範版本:2.4/2.0
Tomcat:4.1.36 實現的servlet/JSP規範版本:2.3/1.2
Tomcat:3.3.2 實現的servlet/JSP規範版本:2.2/1.1
以上就是小編為大家帶來的jsp頁面中運算式語言中的$符號不起作用的解決方案全部內容了,希望大家多多支援雲棲社區~