代码如下(忽略编译错误,不影响结果)

最近刚换IDEA用上Maven,之前一直都是用Eclipse。这回踩了个坑,所以跟大家分享一下。
当我准备在IDEA上用Maven创建SSM项目的时候,我发现页面的JSTL标签不生效,EL标签和导入的C标签会直接被输出。
例如上图最后页面显示的是${name},并没有输出我定义的“呵呵”,在pom. 文件中有jstl的依赖包,但死活不生效。
尝试了很多方法,网上找了很多资料,想起之前用IDEA创建普通web项目的时候,导入C标签会报错,需要手动添加jstl的dtd文件,于是试了一下还是没用。
最后我打开项目中的web. 文件才发现头信息是2.3版本的,如下图。

可能2.3版本可能isELIgnored默认不是false(这只是我的猜测)所以在jsp页面添添加<%@ page isELIgnored=“false” %>这个命令就jstl就生效了。
但每个jsp页面都要添加这个命令是一件很繁琐的事情,所以把web. 的头信息更换为更高的版本。
我记得好像是2.4版本就默认设置isELIgnored=false,但版本也不要太高,要对应tomcat的版本,比如4.01版本的就要对应tomcat9.0、3.0版本要对应tomcat7。
相关对应版本可以自己去搜一下,这里不做详细阐述。提供几个web. 的头信息。
2.4
<? version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" ns="http://java.sun.com/ /ns/j2ee" ns:xsi="http://www.w3.org/2001/ Schema-instance" ns:xsi="http://www.w3.org/2001/ Schema-instance" xsi:schemaLocation="http://java.sun.com/ /ns/j2ee http://java.sun.com/ /ns/j2ee/web-app_2_4.xsd"> xsi:schemaLocation="http://java.sun.com/ /ns/j2ee http://java.sun.com/ /ns/j2ee/web-app_2_4.xsd"> </web-app>
2.5
<? version="1.0" encoding="UTF-8"?> <web-app ns="http://java.sun.com/ /ns/javaee" ns:xsi="http://www.w3.org/2001/ Schema-instance" xsi:schemaLocation="http://java.sun.com/ /ns/javaee http://java.sun.com/ /ns/javaee/web-app_2_5.xsd" version="2.5"> </web-app>
3.0
<? version="1.0" encoding="UTF-8"?> <web-app version="3.0" ns="http://java.sun.com/ /ns/javaee" ns:xsi="http://www.w3.org/2001/ Schema-instance" xsi:schemaLocation="http://java.sun.com/ /ns/javaee http://java.sun.com/ /ns/javaee/web-app_3_0.xsd"> </web-app>
但还会有个问题,那就是每次创建Maven项目都要去修改这个web. 文件也很繁琐,所以还有个一劳永逸的方法。

通过上图我们可以发现我们用IDEA创建项目的时候,是通过Maven仓库中的maven-archetype-webapp这个jar包创建的,而org.apache.maven.archetypes是这个jar包在仓库中的地址。

把maven-archetype-webapp-1.3.jar解压一个副本出来,然后可以在archetype-resources\src\main\webapp\WEB-INF目录下修改立面的web. 文件,或者直接删掉也可以,这取决于你的项目是否用得上web. 这个配置文件。
然后把修改好的web. 复制,把maven-archetype-webapp-1.3.jar中的web. 文件删除,再把复制好的文件粘贴进去。
这种方式同样也可以对pom. 文件进行初始化的配置。
总结
继续阅读与本文标签相同的文章
-
个人音视频常用工具介绍
2026-05-18栏目: 教程
-
用自定义监控实现 GPU 异常状况的检查与报警
2026-05-18栏目: 教程
-
与你同行,才能无障碍
2026-05-18栏目: 教程
-
分布式Id - redis方式
2026-05-18栏目: 教程
-
HTML5 容器入门解析:支付宝 Hybrid 方案原理与实战
2026-05-18栏目: 教程
