JSP页面中EL表达式不生效(永久解决maven创建的模块不能使用EL)

解决JSP页面中EL表达式不生效

BUG背景:

使用maven-archetype-webapp模板创建的Module,这个Module里面所有的jsp页面都无法使用EL表达式.

原因:生成的web.xml默认版本是2.3版本(这版本连EL表达式都默认不能使用,坑爹)。

效果如下面两图,首页里面写的EL表达式,在网页中会原样输出EL表达式
JSP中使用EL表达式
在网页中不显示

解决方法1:

在你需要使用EL表达式的页面顶端上添加以下代码,开启EL表达式,因为maven配置的jsp默认不开启EL表达式:

<%@ page contentType="text/html;charset=UTF-8" isELIgnored="false" language="java" %>

解决方法2(永久):

修改maven-archetype-webapp的web.xml为更高的版本,这样之后创建的所有Module都可以默认开启EL表达式

Step1.

找到maven-archetype-webapp的jar包,先找到你的本地maven仓库,之后的路径是:org\apache\maven\archetypes\maven-archetype-webapp\1.4\maven-archetype-webapp-1.4.jar

比如我的maven-archetype-webapp-1.4.jar:在这里插入图片描述

Step2.

用压缩软件右键直接打开jar包(不是解压),比如我使用的BandZip打开:在这里插入图片描述

Step3.

找到web.xml并打开在这里插入图片描述

Step4.

修改xml,将以下xml内容粘贴并直接全部覆盖原先的内容,保存.以后创建的所有maven-archetype-webapp的Module都可以默认开启EL表达式

 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
      version="3.1">

</web-app>


  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,你需要创建一个新的 Maven 项目。然后,按照以下步骤进行配置: 1. 在 pom.xml 文件添加以下依赖: ``` <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-impl</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-spec</artifactId> <version>1.2.5</version> </dependency> ``` 2. 在 web.xml 文件添加以下配置: ``` <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_4_0.xsd" version="4.0"> <display-name>MyWebApp</display-name> <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>false</el-ignored> <pageEncoding>UTF-8</pageEncoding> <scripting-invalid>false</scripting-invalid> <isXml>false</isXml> <trimDirectiveWhitespaces>true</trimDirectiveWhitespaces> </jsp-property-group> </jsp-config> <listener> <listener-class>org.apache.jasper.servlet.JasperListener</listener-class> </listener> </web-app> ``` 3. 在 IDEA 创建 JSP 文件,并在其使用 EL 表达式和 JSTL 标签库。 以上步骤可以让你用 IDEA 创建一个支持 EL 表达式和 JSTL 的项目。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值