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