今天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頁面中表達式語言中的$符號不起作用的解決方法全部內容了,希望大家多多支持~