EL表达式无效的解决方法
此前开发用的比较多Ajax进行异步交互即数据的显示,最近使用jsp页面进行页面与服务器交互时突然一个很怪的问题,强大的 ${} 失效了,读不出数据,由于使用的是springMVC,所以自己使用spring的test模块进行测试了请求与数据的返回是否有效,经过测试请求后数据可以通过request请求域获得(关于如何使用spring的test模块进行模拟请求进行测试spring的程序,关注自己的另一个博客有详细说明)。那么就可以断定是el表达式有问题。解决方法及思路:
开发环境:servlet是3.1.0、jdk1.7、tomcat 7
0.检查jstl的jar或者说依赖(正确)是否导入
我的依赖:
<dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency>
是没有问题的
1.检查是否在jsp页面上引入标签
经过检查,确实引入:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
2.检查<web-app>的约束版本
我的如下:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" >
经过查阅资料:
这里也拿过来别人查阅官方文档后翻译的: 如果isELIgnored是true,当EL表达式出现在文本或者标签属性时被忽略。如果是false,则EL表达式通过容器来决定如何解析 ,只有属性有返回表达式被设置为true或者表达式是一个延迟表达式时不解析。 isELIgnored的值取决于web应用部署描述符的版本。使用Servlet2.4的描述符的JSP页面默认是解析EL表达式,即表达式有效。这默认提供了大部分应用想要的情况。而使用Servlet2.3或者更早的描述符的JSP页面默认是忽略EL表达式的,即不解析EL表达式,这样就提供了向后兼容性。 所以说,两种解决方法:
解决
01.在每个jsp页面增加声明
声明:
<%@page isELIgnored="false" %> 经过测试可以使用EL表达式了,问题解决 但是缺陷就是每个页面都要加,累死
02.更改<web-app>的约束版本
如官文档所说,2.3及以下版本isELIgonred是true的,2.4及以上的就默认是false,所以根据需要修改 我改成:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 这样就没有问题了,也可使用EL
EL表达式无效的解决方法相关推荐
- Maven项目配置EL表达式原样输出解决方法
Maven项目配置EL表达式原样输出解决方法 参考文章: (1)Maven项目配置EL表达式原样输出解决方法 (2)https://www.cnblogs.com/d191/p/11689610.ht ...
- 关于Tomcat5.5中EL表达式无效的解决办法
问题: 在Tomcat5.5中,JSP页中使用EL表达式输出信息,例如: <%@ page language="java" import="java.util.*& ...
- mawen启动项目css样式失效问题解决方法 EL表达式无效
把web.xml中的代码改成如下代码 <?xml version="1.0" encoding="UTF-8"?> <web-app xmln ...
- cocos2d-js中listView的jumpToBottom()方法无效的解决方法
cocos2d-js中listView的jumpToBottom()方法无效的解决方法 参考文章: (1)cocos2d-js中listView的jumpToBottom()方法无效的解决方法 (2) ...
- QWidget子窗口中setStyleSheet无效,解决方法
QWidget子窗口中setStyleSheet无效,解决方法 参考文章: (1)QWidget子窗口中setStyleSheet无效,解决方法 (2)https://www.cnblogs.com/ ...
- IntelliJ IDEA 的 .idea 目录加入.gitignore无效的解决方法
IntelliJ IDEA 的 .idea 目录加入.gitignore无效的解决方法 参考文章: (1)IntelliJ IDEA 的 .idea 目录加入.gitignore无效的解决方法 (2) ...
- 关于Jupyter Notebook默认起始目录设置无效的解决方法
关于Jupyter Notebook默认起始目录设置无效的解决方法 参考文章: (1)关于Jupyter Notebook默认起始目录设置无效的解决方法 (2)https://www.cnblogs. ...
- 表格Table宽度设置无效的解决方法
表格Table宽度设置无效的解决方法 参考文章: (1)表格Table宽度设置无效的解决方法 (2)https://www.cnblogs.com/sherryweb/p/11659848.html ...
- php session不生效_php验证session无效的解决方法
本文实例讲述了php验证session无效的解决方法.分享给大家供大家参考.具体方法如下: 一.问题 今天在配置 apache+php环境时折腾了很久很久,后来成功了但发现验证码图片可以生成,在登录验 ...
最新文章
- 0709 C语言常见误区----------函数指针问题
- JSON 之父新作,JavaScript “葵花宝典”参悟 JS 之道
- C++默认参数注意事项
- Spring boot错误处理原理
- map的用法-HD 1029Ignatius and the Princess IV
- CUDA Libraries简介
- python字符串补空格输出_python格式化打印字符串
- golang mysql curd_Go 语言操作 MySQL 之 CURD 操作
- 缓存服务器在Linux下的运用
- Linux poll
- 免费体验手机版MSN2.0
- 用JS判断浏览器是否是IE9以下
- 关于硬件批量贴片焊接流程
- OTU/ASV/Feature tabel 表格 过滤 相对丰度 微生物
- Html 和 CSS笔记
- 说说你对AQS的理解?
- 超级详细Window10安装Java JDK 和配置开发环境
- python中的pai怎么打_python 调用win32pai 操作cmd的方法
- MySQL导入Excel表格
- 小写数字转换成大写数字