最近我搭了一個maven的springMVC的項目發現前端怎么也識別不了我的jstl,我查詢了很多方法,導致這種情況的原因有很多
1、jar引用不對,maven中的正確導入可用的jar
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
主要是引入jstl.jar和standard.jar jar包引用不對,會導致這種情況
2、web.xml配置文件格式問題,
我用的是maven項目自己配置的web.xml,其格式如下
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_5.dtd" > <web-app >
需改為
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
3、tomcat默認是支持el表達式的,所以el和jstl沖突也會導致jstl表達式用不了
//頁面引入jstl <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> //屏蔽el <%@ page isELIgnored="false" %>
最終發現我的出現在第三種上面,但是在一些特殊的指令上還 是不行,於是乎—-
4、還不行的話,估計是tomcat,估計是5.5以下的,換成tomcat6.0以上的版本,我換了以后就可以了。。。這一系列問題。。。頭疼
