EL表达式不解析及解析错误的解决办法

1.EL表达式不解析,在页面中按字符串输出

原因:serlet和jsp对应版本不支持EL表达式或者没有开启EL表达式

解决办法:EL表达式是从jsp2.0和servlet2.4才开始支持的。servlet2.3及以前版本都不支持。

在servlet2.3版本的页面中可以添加 <%@ page isELIgnored="false" %> 来开启EL表达式并且能使用但会报黄线提示,而且servlet2.3中c标签和EL表达式不能结合使用,必须使用c标签的扩展库 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> 才可以和c标签结合使用

servlet2.4版本中默认已开启EL表达式,不用添加<%@ page isELIgnored="false" %>。

servlet2.5及以上版本默认没有开启EL表达式,使用el表达式时需开启。

2.C标签使用找不到c.tld

Caused by: org.apache.jasper.JasperException: /WEB-INF/jsp/system/user/user_index.jsp(3,62) Unable to read TLD "META-INF/c.tld" from JAR file "file:/D:/server/tomcat/tomcat-portal-8086/webapps/gxq/WEB-INF/lib/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

使用c标签时报这个问题原因:常见是jstl.jar包冲突,请检查项目lib目录下的jstl.jar包和服务器lib目录下jar包是否冲突,删除一个即可。

猜你喜欢

转载自xingguangsixian.iteye.com/blog/1927676
今日推荐