maven 下 EL ${ctx }失效

开发过程中总是看见

<script type="text/javascript" src="${ctx }/js/jquery-1.8.3.js"></script>

这是引入了EL ,导入 EL maven

 <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>

    </dependency>

在Jsp页面 添加

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

然后使用

<c:set var="ctx" value="${pageContext.request.contextPath}"/>

运行 结果发现 没有效果 失效了。


解决 :


貌似是maven 生成的web.xml 版本比较低

2.5之前web.xml文件中的头定义中,el表达式默认是忽略不解析的

因此  需要自己做一些操作才可以

3种方案:

方案1,在jsp文件头上添加如下:

<%@ page isELIgnored="false" %>


方案2,在web.xml文件中如下定义:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <el-ignored>false</el-ignored>
        <scripting-invalid>true</scripting-invalid>
    </jsp-property-group>
</jsp-config>


方案3,改变web.xml中的头为2.5之上的版本..

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
 


果断尝试第一种方法


成功。



查看文章 :

http://www.myexception.cn/javascript/2031310.html


新手上路,欢迎老司机吐槽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值