Maven项目:jsp页面无法显示,el表达式没有效果

问题:

maven项目中,使用jsp作为显示页面时jsp页面无法显示,el表达式没有效果

分析过程:

1、检查是否导入了相关依赖

  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.0</version>
      <scope>provided</scope>
    </dependency>
    
    <dependency>
      <groupId>org.glassfish.web</groupId>
      <artifactId>jstl-impl</artifactId>
      <version>1.2</version>
    </dependency>

jstl-impl,,,servlet.jsp, 导入错误改正,scope范围忘记配置

2、检查依赖是否冲突

运行:

可以显示jsp页面,el表达式没有效果

方式一:

<%@page isELIgnored="false" %>

在jsp页面上添加;缺点,多个jsp页面每一个都要添加,麻烦

方式二:

web.xml 更改

<?xml version="1.0" encoding="UTF-8"?>
<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_4_0.xsd"
         version="4.0">
         ..............................

原理参考:为什么el表达式没有效果
web.xml的版本太低不支持el表达式
既然该web.xml不支持,换一个web.xml

愚见:

maven骨架构建的web项目没有引入解析el表达式的命名空间,xml文档结构不对解析不了;

骨架构建的web.xml文件:

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

<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

配置xml文件需得先引入命名空间和所在目录与解析文件地址,才能使用其中的各种标签,同理el也是;

jsp运行在Tomcat服务器的servlet容器中,web.xml没有配置。。。

再次运行:

还是没有效果


<%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core” %>

改为
<%@taglib prefix=“c” uri=“http://java.sun.com/jstl/core_rt” %>

参考:解决办法

成功解决。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值