ssm项目路径问题和EL ${pageContext.request.contextPath}解析问题

在这里插入图片描述
假如这样写:

<link rel="stylesheet" type="text/css" href="../css/login.css"/>

文件会报找不到。原因如下:
本来页面路径:http://SERVER:PORT/PROJECT/web/login.jsp
css路径:http://SERVER:PORT/PROJECT/css/login.css
但是我们使用Spring mvc通过servlet后路径就会变成这样:

http://SERVER:PORT/PROJECT/login.do
http://SERVER:PORT/css/login.css

显然就出错了
所以css可以这样写:

<link rel="stylesheet" type="text/css" href="css/login.css"/>

后来我想使用绝对路径引入:
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/login.css"/>
EL表达式解析后可能会解析成这样:

$%7BpageContext.request.contextPath%7D

网上说的可能原因:

  1. web.xml 中头文件web-app的版本 低于2.4
  2. 引用的JSP-jar包版本太低,无法解析EL表达式,改为2.1、2.2会好一点
  3. 设置:isELignored=false <%@ page isELIgnored="false" language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

isELignored的作用:

比如下面这个表达式KaTeX parse error: Expected '}', got 'EOF' at end of input: …ored="true"时输出为{2000 % 20},而isELIgnored="false"时输出为100。

提供web.xml2.4版本:

<?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"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    
</web-app>

写成文章简单的记录一下问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值