JSP页面中EL表达式不被解析

简介

开发中遇到一个问题,就是JSP页面中EL表达式不被解析,有些时候是以报错的形式展示在页面,提示EL表达式解析失败了,比如${stu.name}无法被解析
其实,这是我们配置出现了错误的原因

解决方法

第一种方式<%@ page isELIgnored="true|false" %>,当isELIgnored 值为true的时候,那么EL表达式将会被当做字符串进行解析,也就是你页面写的什么就输出什么,并不会进行赋值运算。当isELIgnored 值为false的时候,EL表达式将会生效。因此,我们只要将isELIgnored 值设置为false即可。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

-- 务必设置 isELIgnored = "false"  否则,将会忽略el表达式,导致使用el表达式的jsp文件解析错误
<%@ page isELIgnored="false" %>

第二种方式Web.xml头部配置版本太低或者不全,例如使用


<web-app>
	...
web-app>

将会导致EL表达式解析不了的问题。
只需要将Web.xml头部配置提升版本即可,如下


<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

你可能感兴趣的:(问题记录)