在学技术,尤其是实际动手的过程中,我们往往会遇到很多坑。一名优秀的程序员要有意识地把自己遇到的一些问题发布出来,这样可以帮助大家减少入坑。在学完Jsp和Servlet之后,我开始学习EL,现在总结一些EL中可能遇到的坑。
1.坑一
JSTL的jar包和Tomcat服务器的版本是有着较为严格的对应关系的,所以一定要下载与自己的Tomcat服务器版本相应的JSTL包。
2.坑二
JSTL中一定要在例如
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>这样的导入语句中加上前缀,不然会报错。
3.坑三
如果你这样写:
<c:out value="${1}"></c:out>那么浏览器很可能会报错。
原因就是JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值,而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL)。
解决方法也比较简单:
把下面这条语句:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>改为:
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>就好了。