jsp 中可禁用EL

本文描述了一个关于EL表达式在不同环境下解析不一致的问题。在Windows的Tomcat 6.0下EL表达式正常工作,但在Linux服务器使用Tomcat 5.5时,发现EL表达式未被解析。通过设置<%@page isELIgnored=false%>解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

${pageContext.request.contextPath }这是个EL表达式,可以用来得到工程的名字,
比如 我要定义路径 <img src="[color=red]${pageContext.request.contextPath }/[/color]admin/imgs/11.jpg">
按道理来说得到的应该是 <img src="工程名称/admin/imgs/11.jpg"> 。
但是将工程发布后却无法解释${pageContext.request.contextPath }这个EL表达式,在Windows上发布后是正常的,可以正确解释EL表达式。
但是当我把工程发布到linux服务器的时候路径 竟然是${pageContext.request.contextPath }/admin/imgs/11.jpg。 表达式没有被解释。

可能我本机Windows上的tomcat版本是6.0的。默认<%@ page isELIgnored="false"%>。
而linux上的tomcat版本是5.5的。默认<%@ page isELIgnored="true"%>。
只要在有EL表达式的jsp页面限制[color=red]<%@ page isELIgnored="false"%>。 [/color]就可以正确解释EL表达式了。



${pageContext.request.contextPath }和<%=request.getContextPath()%>效果差不多

--转载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值