jsp页面中表达式语言中的$符号不起作用的解决方法

今天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页面中表达式语言中的$符号不起作用的解决方法全部内容了,希望大家多多支持呐喊教程~