解决方法:<%@page isELIgnored=”false”%>

一、问题场景

写了个jsp页面,使用了EL表达式,结果什么都没显示,页面一片空白。

二、尝试解决

并不是写的页面哪里出错了,也不是对象没有取到,也不是jstl包没有发布到tomcat中。

越奇怪的问题原因往往很简单,那就是少了:

<%@page isELIgnored=”false”%>

导致el表达式无法显示。

三、问题原因

jsp 2.0的一个主要特点是它支持表达语言(expression language)。

在web.xml的<jsp-property-group>中可以控制一组jsp是否使用EL,在每个jsp中也可以指定是否该jsp使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:<%@page isELIgnored=”false/true”%>。

如果设定为真,那么JSP中的表达式被当成字符串处理。

比如下面这个表达式<p>${2000%20}</p>,在isELIgnored=”true”时输出为${2000%20},而isELIgnored=”false”时输出为100。

Web容器默认isELIgnored=”false”。

四、总结

所以加上<%@page isELIgnored=”false”%>就能解决了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注