jsp不支持${pageContext.request.contextPath} jstl表达式
By:Roy.LiuLast updated:2014-08-29
今天在做程序代码查看的时候,发现开发者都喜欢直接在JSP中用request去获得网站的contextPath, 但web应用已经引入了 jstl 包,为什么不用了。于是自己做了一个页面测试, 写了一个简单的来测试:
从理论上来说,打开页面就应该弹出当前网站的根路径,但事实上没有,原封不动的弹出了"${pageContext.request.contextPath}", 也就是说 jstl el 表达式没有起作用。这是什么元婴呢,后来再仔细查看,原来在web.xml 里采用了 servlet 2.3 的schema. 这在默认情况下不启用el表达式的. 解决方法也很简单, 在jsp页面加入:
这样就解决这个问题了,但更好的还是采用servlet 2.5 吧,重新建一个工程,把程序导过来,我觉得更好。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>Insert title here ........
从理论上来说,打开页面就应该弹出当前网站的根路径,但事实上没有,原封不动的弹出了"${pageContext.request.contextPath}", 也就是说 jstl el 表达式没有起作用。这是什么元婴呢,后来再仔细查看,原来在web.xml 里采用了 servlet 2.3 的schema. 这在默认情况下不启用el表达式的. 解决方法也很简单, 在jsp页面加入:
<%@page isELIgnored="false"%>
这样就解决这个问题了,但更好的还是采用servlet 2.5 吧,重新建一个工程,把程序导过来,我觉得更好。
From:一号门
Previous:在servlet中用spring @Autowire 注入.
Next:Linux 下定时执行JAR 文件
COMMENTS