服务器之家

服务器之家 > 正文

解决IDEA中Maven项目中JSTL标签无效问题

时间:2021-06-01 11:21     来源/作者:narutom_cxc

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

解决IDEA中Maven项目中JSTL标签无效问题

最近刚换idea用上maven,之前一直都是用eclipse。这回踩了个坑,所以跟大家分享一下。

当我准备在idea上用maven创建ssm项目的时候,我发现页面的jstl标签不生效,el标签和导入的c标签会直接被输出。

例如上图最后页面显示的是${name},并没有输出我定义的“呵呵”,在pom.xml文件中有jstl的依赖包,但死活不生效。

尝试了很多方法,网上找了很多资料,想起之前用idea创建普通web项目的时候,导入c标签会报错,需要手动添加jstl的dtd文件,于是试了一下还是没用。

最后我打开项目中的web.xml文件才发现头信息是2.3版本的,如下图。


解决IDEA中Maven项目中JSTL标签无效问题

可能2.3版本可能iselignored默认不是false(这只是我的猜测)所以在jsp页面添添加<%@ page iselignored=“false” %>这个命令就jstl就生效了。

但每个jsp页面都要添加这个命令是一件很繁琐的事情,所以把web.xml的头信息更换为更高的版本。

我记得好像是2.4版本就默认设置iselignored=false,但版本也不要太高,要对应tomcat的版本,比如4.01版本的就要对应tomcat9.0、3.0版本要对应tomcat7。

相关对应版本可以自己去搜一下,这里不做详细阐述。提供几个web.xml的头信息。

2.4

?
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<web-app id="webapp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
 xsi:schemalocation="http://java.sun.com/xml/ns/j2ee   
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">    xsi:schemalocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>

2.5

?
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<web-app 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_2_5.xsd" version="2.5">
</web-app>

3.0

?
1
2
3
4
5
6
<?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">
</web-app>

但还会有个问题,那就是每次创建maven项目都要去修改这个web.xml文件也很繁琐,所以还有个一劳永逸的方法。


解决IDEA中Maven项目中JSTL标签无效问题

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

把maven-archetype-webapp-1.3.jar解压一个副本出来,然后可以在archetype-resources\src\main\webapp\web-inf目录下修改立面的web.xml文件,或者直接删掉也可以,这取决于你的项目是否用得上web.xml这个配置文件。

然后把修改好的web.xml复制,把maven-archetype-webapp-1.3.jar中的web.xml文件删除,再把复制好的文件粘贴进去。

这种方式同样也可以对pom.xml文件进行初始化的配置。

总结

原文链接:https://blog.csdn.net/narutom_cxc/article/details/82753375

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部