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

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。