Nemo

Nemo 关注TA

路漫漫其修远兮,吾将上下而求索。

Nemo

Nemo

关注TA

路漫漫其修远兮,吾将上下而求索。

  •  普罗旺斯
  • 负责帅就完事了
  • 写了1,496,113字

该文章投稿至Nemo社区   Java  板块 复制链接


JSTL的EL表达式失灵

发布于 2016/03/18 21:45 6,143浏览 0回复 1,004

之前搭建的框架什么的都好好的, 然后今天在搭建SpringMVC+Shiro时忽然遇见这么个问题.


定义在全局的${ctx}在页面上完全打印出了${ctx}


原本以为又是shiro或者SpringMVC代理了Servlet把jstl的tld或者lib的请求给拦截了.所以查了许久没搞定.


最终找到的问题答案是:

========================================

< xml version="1.0" encoding="UTF-8" >

<web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation="" version="2.5">

因为jstl1.1的EL表达式在servlet2.5默认是禁用的,需要在JSP页面中加入:<%@ page isELIgnored="false"%>

或者改为2.4,因为jstl1.1在servlet2.4中默认是启用的。

< xml version="1.0" encoding="UTF-8" >

<web-app xmlns:xsi="" xmlns="" xmlns:web="" xsi:schemaLocation="" version="2.4">

测试结果:

在Tomcat5(apache-tomcat-5.5.34)中:

使用2.4, EL正常

使用2.5, EL失效

使用2.5, 并在每个页面上添加:<%@ page isELIgnored="false"%>, EL正常

在Tomcat6(apache-tomcat-6.0.33)中:

使用2.4及2.5(未加<%@ page isELIgnored="false"%>),EL均正常

=============================================


本文标签
 {{tag}}
点了个评