JSF工程在部署后,页面不能解析El表达式,及所有的JSF标签。
如:
<h:outputText value="#{initParam['SYSPARAM_WindowTitle']}"/>
在访问的时候显示成#{initParam['SYSPARAM_WindowTitle']}。
解决方法1:
确保web.xml中定义的版本是2.5或以上的。
<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">
注意改完后要清理tomcat work目录才能生效。
解决方法2:
在页面上加入
<%@ page isELIgnored="false" %>
问题原因:
JSP 2.0中,如果web-app版本为2.4或者以上的话isELIgnored默认为false, 以前的版本默认为true,需要手动在页面上加入
<%@ page isELIgnored="false" %>
下面是官方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 表达式广泛应用于 JSP、Servlet、JSF 等 Web 开发技术中。本文将详细介绍 EL 表达式的使用方法和应用场景。 一、EL 表达式的基本概念 EL 表达式是一种基于 XML 的表达式语言,用于访问和操作 Java 对象的属性。...
当解析成一个取值表达式时,eval-expression 能被计算成左值和右值。若在 EL 中有等号操作符号出现,右值是类型出现在等号的右边的表达式,左值同理。 例如:${customer.name}"/> 1.1.1.1 作为取值表达式的计算...
- EL表达式中的数据操作仅限于读取,不能进行赋值等写操作。 EL表达式已经成为Java Web开发中处理数据存取的重要工具,特别是在使用JSP和JSF技术时。熟悉EL表达式的使用可以显著提高Web应用开发的效率和可读性。
EL表达式还可以与其他JSP技术,如JSF(JavaServer Faces)或Spring MVC结合使用,提供更强大的功能。例如,JSF中的EL可以与组件系统交互,Spring MVC中的EL则可以在视图层与模型对象之间建立绑定。 总的来说,EL...
本教程将深入介绍EL表达式的各个方面,帮助你成为一名熟练的JSF开发者。 一、EL基础 1. EL的语法:EL表达式通常以`#{}`包围,例如`#{bean.property}`,其中`bean`是对象实例,`property`是该对象的属性。EL会自动...
- 确保EL表达式与你的数据模型相匹配,以便正确解析和替换。 - 在处理大型数据集时,注意内存管理,因为加载整个Excel模板可能会占用大量内存。 - 为了提高性能,可以考虑分批处理数据,而不是一次性加载所有数据到...
JSF组件的属性可以直接绑定到EL表达式,如`value="#{bean.property}"`,这样组件的值就能自动与后台bean的属性同步。 总的来说,EL表达式是Java EE Web开发中的强大工具,它简化了数据访问和处理,使得开发者可以更...
EL(Expression Language)是Java服务器页面(JSP)中的一种表达式语言,用于简化数据访问和处理。它允许开发者在JSP页面或者其他Java EE应用中...理解和熟练运用EL表达式,能显著提高开发效率,提升应用的可维护性。
### EL表达式语法详解 #### 一、EL表达式概述 **EL**(Expression Language)是一种简单却强大的语言,主要用于在JSP页面上访问JavaBeans属性。EL表达式语法旨在简化Web开发人员对JSP页面中JavaBean属性的操作,提供...
JSF_EL表达式使用独特的语法`#{}`,与JSP EL表达式的`${}`有所不同。JSF_EL不仅支持值绑定表达式,还支持方法绑定表达式,后者用于调用Bean的方法。此外,JSF_EL还支持混合类型的计算和运算符,增强了其灵活性和表达...
在Java EE中,EL主要用于JSP和JSF页面,使得在视图层可以方便地访问模型层的数据。 OGNL(Object-Graph Navigation Language),即对象图导航语言,是EL的一种实现,提供了更强大的功能。除了基本的属性访问和方法...
EL表达式极大地提高了JSP页面的可读性和维护性,通过简化的语法,使得开发者能更专注于业务逻辑,而非底层数据访问的细节。结合其他Java Web技术,如JavaServer Faces(JSF)或JavaServer Pages Standard Tag ...
EL是JavaServer Faces (JSF) 和其他Java技术中用于在视图层解析表达式并获取数据的工具,它允许在运行时评估Java表达式,例如获取Bean属性、方法调用等。在Spring AOP中,EL可以帮助我们访问被拦截方法的局部变量,...
当EL表达式不能直接插入到JavaScript代码中时,可以借助隐藏的HTML表单字段来传递值。首先,通过EL表达式设置隐藏字段的值,如 `${hiddenValue}">`。然后,在JavaScript中,可以通过`document.getElementById('...
EL表达式通常出现在JSF组件的属性中,用于将组件与bean的属性关联起来。 **4. Managed Beans** Managed Beans是JSF中的核心组件,它们是Java类,可以作为应用程序的业务逻辑层。在JSF上下文中,这些beans可以被...
这个库提供了EL表达式解析、求值和对象访问的接口,例如`javax.el.*`包下的`ValueExpression`、`ELContext`、`ExpressionFactory`等类。开发者在编译时需要这个库,以满足对EL API的引用。 **javax.servlet....
EL表达式是一种简洁的语法,它允许开发者通过简单的语法结构来访问Java对象的属性、方法以及集合元素。EL使用一种类似于JavaScript的语法,但它并不执行完整的脚本,而是专注于数据检索和计算。EL表达式通常在JSP...
- Managed Beans是JSF中用于存储业务逻辑和数据的Java对象,它们可以被JSF组件通过EL表达式引用。Managed Beans的生命周期由JSF管理,支持依赖注入和其他特性。 7. **渲染**: - JSF组件最终会被转化为HTML发送到...
开发者可以通过在Bean中定义方法并使用EL表达式在页面上调用,实现前后端的交互。 六、JSF生命周期 JSF有七个阶段:恢复视图、应用请求值、处理验证、更新模型值、调用应用、呈现响应和清理。在每个阶段,JSF都会对...
1. **表达式解析**:EL表达式通常以`${}`包裹,如`${user.name}`。解析器会将这个表达式分解成组件,识别出变量名(user)和属性名(name)。 2. **变量查找**:EL引擎根据变量名在作用域内查找对应的对象。常见的...