`
zhaojian0910
  • 浏览: 47688 次
社区版块
存档分类
最新评论

EL表达式无效

阅读更多

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	${msg }
</body>
</html>

 

 

页面就显示${msg },没有取相应的变量的值

 

经过一番查询,找到原因

 

解决方法1:

在JSP页面中增加<%@ page isELIgnored="false" %>

 

解决方法2:

查看web.xml文件

web.xml声明部分一般分为如下版本的xsd,
web-app_2_2.xsd
web-app_2_3.xsd
web-app_2_4.xsd
web-app_2_5.xsd

 

更详细的列出各版本web.xml声明部分吧,如下:
web-app_2_2.xsd

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/dtd/web-app_2_2.dtd">  
 web-app_2_3.xsd
    <?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">  
 


web-app_2_4.xsd

    <?xml version="1.0" encoding="UTF-8"?>  
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  

 

web-app_2_5.xsd

    <?xml version="1.0" encoding="UTF-8"?>  
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
 
经过测试,配置成web-app_2_4.xsd的时候,isELIgnored默认就是false,不需要在jsp中显式的配置。
下面是官方Documention中isELIgnored Attribute的详解:
The isELIgnored Attribute
• Format
– <%@ page isELIgnored="false" %>
– <%@ page isELIgnored="true" %>
Purpose
– To control whether the JSP 2.0 Expression Language
(EL) is ignored (true) or evaluated normally (false).
• Notes
– If your web.xml specifies servlets 2.3 (corresponding to
JSP 1.2) or earlier, the default is true
• But it is still legal to change the default—you are permitted
to use this attribute in a JSP-2.0-compliant server
regardless of the web.xml version.
– If your web.xml specifies servlets 2.4 (corresponding to
JSP 2.0) or earlier, the default is false

 

分享到:
评论

相关推荐

    EL表达式无效问题《ZT》

    当遇到EL表达式无效的问题时,通常有以下几个原因: 1. **依赖库缺失**:EL表达式是基于特定的库实现的,如`jstl.jar`和`standard.jar`。`jstl.jar`包含JSTL(JavaServer Pages Standard Tag Library)的核心标签库...

    用EL判断登入密码和用户名是否为空

    EL表达式主要用于简化页面逻辑,提高代码可读性和维护性。在本场景中,"用EL判断登入密码和用户名是否为空"是一个典型的用户认证过程中的需求,确保在用户尝试登录时,输入的用户名和密码不为空,以防止无效的登录...

    使用IDEA编写jsp时EL表达式不起作用的问题及解决方法

    EL表达式是JavaServer Pages (JSP) 2.0 引入的一种强大的功能,用于简化动态内容的生成,但它可能由于各种原因而失效。本文将详细解析这个问题,并提供解决方案。 首先,让我们看一个简单的JSP页面示例: ```jsp ;...

    El表达式使用问题javax.el.ELException:Failed to parse the expression的解决方式

    然而,当出现`javax.el.ELException: Failed to parse the expression`错误时,这通常意味着EL表达式没有被正确解析,导致程序无法正常运行。该错误通常是由于违反了EL表达式的语法规则,或者尝试执行了不合法的操作...

    el-api.jar el-ri.jar

    EL表达式通常以"$"或"#”开头,如`${variable}`或`${bean.property}`。它提供了简化的语法来获取和设置对象的属性,执行基本的算术和逻辑运算,以及调用方法。 **el-api.jar** `el-api.jar` 是EL的API(应用程序...

    正则表达式

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 -或- 对正则表达式功能字符的还原,如"*"匹配它...

    ExtJS Jetty启动报错 tag

    `PWC6038`错误代码是Apache Tomcat的专用错误码,意味着在JSP文件中发现了一个无效的EL表达式。 解决这个问题的关键在于理解EL的运算优先级。在原始表达式中,`extLocation`直接被用作条件判断的一部分,但EL可能...

    jsp页面使用${}不起作用的解决方法

    4. **错误的EL表达式**:检查EL表达式的语法是否正确。例如,如果你尝试访问一个不存在的属性,如`${nonExistentProperty}`,那么EL表达式会返回`null`,并且不会抛出错误,但在页面上也不会有任何输出。 5. **JSP...

    项目中遇到的异常

    当Foreach循环中EL表达式的写法不正确,如`items="${list}"`应该正确书写时,会导致EL表达式错误。解决办法是确保表达式语法正确无误。 #### 资源找不到 此问题通常发生在方法名拼写错误、子控制器配置缺少`...

    Java程序调试与错误收集--代码引起的报错

    **描述:** 使用EL表达式从JavaBean获取值时,如果表达式写法错误,会导致值无法正确显示。 **解决办法:** - 确保使用了正确的EL标签,例如`&lt;c:forEach&gt;`。 - 检查JavaBean的属性名是否正确,并且已经正确地设置了...

    解决IDEA中Maven项目中JSTL标签无效问题

    将isELIgnored设置为false后,EL表达式才会被解析执行,否则所有的EL表达式都会像普通文本一样被直接输出。这个属性的默认值依赖于web.xml中的配置。 如果对每个JSP页面都设置isELIgnored为false显得繁琐,可以在...

    更简单的Java缓存框架 jscache.docx

    EL表达式的灵活性使得开发者可以根据方法参数动态生成缓存键,从而实现更为复杂的缓存管理策略。例如,“#p0”表示使用方法的第一个参数作为键的一部分。 3. **`ttl`**:Time To Live,即缓存的存活时间。这是一个...

    Element UI 自定义正则表达式验证方法

    在这个函数中,`regExp` 是我们自定义的正则表达式,它的作用是根据业务需求来设定什么样的数据是有效或无效的。如果 `regExp.test(value)` 的结果为 `false`,则表示输入的值不符合我们预设的正则表达式,即输入值...

    Dest0g3-Java部分1

    在描述中,团队首先尝试使用已知的POC(Proof of Concept)来攻击一个名为“Webbaby gadget v1.0”的环境,但发现常规的EL表达式绕过方法无效。他们推测这可能是由于比赛的复杂性,于是转向使用自有的0-day漏洞来...

    jsp传值中文乱码问题解决方法示例介绍.docx

    如果使用EL表达式(${...})或JSTL(如`${...}" /&gt;`),它们通常会自动处理编码问题,但仍建议在JSP页面头部设置响应编码。 8. 应用程序级设置: 在Servlet容器的配置中,可以设置全局的字符编码,比如在Spring ...

    登陆web java j2ee

    JSP可以利用EL表达式直接访问后台数据,简化页面与Servlet之间的交互。 3. **JSTL和EL**:JSTL提供了一系列预定义的标签库,可以减少JSP中的Java脚本,使代码更清晰。EL允许在JSP页面中简洁地访问JavaBean属性,...

    jsp学生管理系统源代码

    5. **JSTL和EL表达式**:JSP Standard Tag Library(JSTL)提供了一组标签库,可以简化JSP页面中的业务逻辑,而Expression Language(EL)则提供了简洁的方式来访问和操作Java对象。 6. **会话管理**:为了跟踪用户...

    jsp订单管理系统,管理订单,增删改查,感觉还行,大家试试

    4. **JSTL和EL表达式**:JSTL(JavaServer Pages Standard Tag Library)是标准标签库,可以简化JSP页面中的Java代码,提高代码可读性。EL(Expression Language)表达式用于在JSP页面中方便地访问数据,减少脚本...

    struts笔记

    4. **EL表达式**:还可以通过EL表达式来获取国际化文本。 ```jsp ${getText("hello")} ``` #### 七、CSRF防护 为了防止跨站请求伪造(CSRF)攻击,Struts2提供了内置的Token拦截器。 1. **添加Token标签**:在...

    BEA WebLogic平台下J2EE调优攻略.doc

    优化JSP代码,减少脚本let和表达式,转向使用JSTL和EL表达式。Servlet应避免在service方法中进行大量计算,而是将逻辑移至业务层。 JMS代码调优需要考虑消息类型和确认方式的选择,避免不必要的特性。例如,选择...

Global site tag (gtag.js) - Google Analytics