十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
代码如下(忽略编译错误,不影响结果)
武山网站建设公司创新互联公司,武山网站设计制作,有大型网站制作公司丰富经验。已为武山上1000家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的武山做网站的公司定做!最近刚换IDEA用上Maven,之前一直都是用Eclipse。这回踩了个坑,所以跟大家分享一下。
当我准备在IDEA上用Maven创建SSM项目的时候,我发现页面的JSTL标签不生效,EL标签和导入的C标签会直接被输出。
例如上图最后页面显示的是${name},并没有输出我定义的“呵呵”,在pom.xml文件中有jstl的依赖包,但死活不生效。
尝试了很多方法,网上找了很多资料,想起之前用IDEA创建普通web项目的时候,导入C标签会报错,需要手动添加jstl的dtd文件,于是试了一下还是没用。
最后我打开项目中的web.xml文件才发现头信息是2.3版本的,如下图。
可能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
<?xml version="1.0" encoding="UTF-8"?>xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">