`

是否使用EL表达式的配置

    博客分类:
  • jsp
阅读更多

        今天在开发过程中发现一个细节问题,由于前端采用EasyTemplate模板方法实现数据展示,但老是不能正常显示出来。后来发现竟是EL将我的EasyTemplate的${...}解释执行了,导致我的模板不能正常展示后台数据。

        网上搜索将EasyTemplate所在的页增加<%@ page isELIgnored="true"%>解决。

JSP 2.0的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有scriptlet能实现的功能都可以由JSP替代。在JSP 2.0中,建议尽量使用EL而使JSP的格式更一致。

一.在web.xml的<jsp-property-group>中可以控制一组JSP是否使用EL

<jsp-config> 包括<taglib> 和<jsp-property-group> 两个子元素。
        其中<taglib>元素在JSP 1.2时就已经存在;而<jsp-property-group>是JSP 2.0 新增的元素,其目的是给一定范围类的JSP文件设置一些特性。
        <jsp-property-group>元素主要有八个子元素,它们分别为:
        1.<description>:设定的说明;
        2.<display-name>:设定名称;
        3.<url-pattern>:设定值所影响的范围,如:/CH2 或 /*.jsp,具体来说,是义需要设置特性的JSPURL,比如<url-pattern>/jsp/xxx.jsp</url-pattern> 表示访问路径为/jsp/xxx.jsp需要设置一些特性
        4.<el-ignored>:若为true,表示不支持EL 语法,具体来说,符合url-pattern访问路径的JSP需要忽略表达式语言,也就是说JSP中有类似"${1+2}"这样的表达式会被直接输出到页面,不会被数学运算之后再输出
        5.<scripting-invalid>:若为true,表示不支持<% scripting %>语法,具体来说,符合url-pattern访问路径的页面是否支持<%%>这样的语法:如果设置为trueJSP页面中包含<% scripting %>语法,将会报错
        6.<page-encoding>:设定JSP 网页的编码,即设置符合url-pattern访问路径的页面的编码设置
        7.<include-prelude>:设置JSP 网页的抬头,扩展名为.jspf,表示符合url-pattern访问路径的JSP页面头部默认包含的文件
        8.<include-coda>:设置JSP 网页的结尾,扩展名为.jspf,即表示符合url-pattern访问路径的JSP页面尾部默认包含的文件

一个简单的<jsp-config>元素完整配置:

<jsp-config>
    <taglib>
        <taglib-uri>Taglib</taglib-uri>
        <taglib-location>/WEB-INF/tlds/MyTaglib.tld</taglib-location>
    </taglib>
    <jsp-property-group>
        <description>Special property group for JSP Configuration JSP example.</description>
        <display-name>JSPConfiguration</display-name>
        <url-pattern>/jsp/* </url-pattern>
        <el-ignored>true</el-ignored>
        <page-encoding>GB2312</page-encoding>
        <scripting-invalid>true</scripting-invalid>
        <include-prelude>/include/prelude.jspf</include-prelude>
        <include-coda>/include/coda.jspf</include-coda>
    </jsp-property-group>
</jsp-config>

 二.在每个JSP中也可以指定是否该JSP使用EL

在page directive中的isELIgnored属性用来指定是否忽略。格式为:

<%@ page isELIgnored="true|false"%>

如果设定为真,那么JSP中的表达式被当成字符串处理。比如下面这个表达式<p>${2000 % 20}</p>在isELIgnored="true"时输出为${2000 % 20},而isELIgnored="false"时输出为100。Web容器默认isELIgnored="false"。

分享到:
评论

相关推荐

    el 表达式el 表达式el 表达式

    **EL表达式简介** EL全称为Expression Language,最初在JSTL 1.0中作为方便数据存取的自定义语言出现,仅限于在JSTL标签内使用,如`${3 + 7}"&gt;`。然而,随着JSP 2.0的发布,EL已成为标准规范的一部分,适用于支持...

    jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

    要解决这个问题,首先需要理解EL表达式的解析与web.xml配置文件中指定的JSP版本有关。在Java EE 5中,默认情况下,EL表达式可能不会被解析,而是作为普通文本处理。为了解决这个问题,可以尝试将web.xml文件中的JSP...

    使用EL表达式时候用到的jar包

    在Java Web开发中,EL(Expression Language)表达式语言是一种强大的工具,用于简化JSP页面中的数据访问和处理。EL的引入极大地提升了JSP...在实际项目中,确保这些依赖项正确配置,是成功使用EL表达式的关键步骤。

    JSTL自定义EL表达式

    本资源主要讲解了如何在JSTL中定义和使用自定义的EL表达式,这对于提高JSP页面的可读性和可维护性至关重要。 首先,理解JSTL的基础概念。JSTL由几个核心标签库组成,如fmt、fn、sql、xml等,它们提供了处理日期和...

    EL表达式的应用

    4. **EL的异常处理**:了解当EL表达式计算出错时,如何配置错误处理策略。 5. **性能优化**:学习如何通过合理使用EL和JSTL,提高JSP页面的执行效率。 掌握EL表达式和JSTL的使用,对于一个Java Web开发者来说至关...

    el表达式详细介绍全面内容

    1. **EL表达式的开启与关闭**:可以通过`&lt;%@page isELIgnored="true"%&gt;`来控制是否启用EL表达式,默认情况下,JSP 2.0及以上版本默认启用了EL表达式。 2. **EL表达式的结构**:EL表达式可以包含各种运算符和函数,...

    Java中使用EL表达式文档

    2. **配置问题**:在某些版本的Tomcat服务器中,可能需要进行特定配置才能使EL表达式生效。例如,在JSP文件中加入`&lt;%@ page isELIgnored="false" %&gt;`指令。 3. **命名规则**:在使用EL表达式时,应避免使用EL表达式...

    EL表达式所用的jar包.rar

    在配置完成后,你就可以在JSP页面中自由地使用EL表达式了,如 `${user.name}` 来获取名为 `user` 的JavaBean对象的 `name` 属性,或者 `${list.size()}` 来获取列表的长度。EL表达式还支持方法调用,如 `${bean....

    el表达式不起作用解决方案

    例如,确保变量引用正确,如`${user.name}`,并且在动作标签中正确使用`value`属性来引用EL表达式,如`${user.name}" /&gt;`。 6. **检查Scope** EL表达式查找变量时,会按照page、request、session和application的...

    java中的EL表达式禁用

    以下将详细探讨EL表达式的使用、禁用的原因以及如何禁用。 1. EL表达式的基本概念: EL表达式是一种声明式语言,用于在JSP页面中访问JavaBean属性或JSP作用域中的对象。它的语法简单,通常以`${}`包围,如`${...

    JSP-EL表达式.ppt

    EL 表达式可以访问对象的属性和集合,可以使用点号(.)或中括号([])来访问对象的属性。例如: * ${user.name}:访问对象 user 的 name 属性 * ${user["name"]}:同上 * ${list[1]}:访问 list 对象的第二项 * ${...

    maven项目中的EL表达式问题

    在进行Java Web项目的开发时,特别是在使用Maven的情况下,了解不同Web规范下的EL表达式解析规则至关重要。通过本文的分析与解决方案,我们可以更好地理解如何解决EL表达式未被解析的问题,避免类似错误的发生。同时...

    JSP写EL表达式所需的两个jar包

    例如,我们可以使用`&lt;c:set&gt;`标签设置一个变量,然后在EL表达式中使用该变量。 在不使用Java代码的JSP页面中,EL表达式的优点在于它将业务逻辑与视图层分离,使开发者能够专注于页面布局,而不用关心具体的Java语法...

    EL表达式 jsp

    在Tomcat服务器中,EL表达式默认是启用的,但在某些情况下可能需要手动配置。有以下两种方法来确保Tomcat支持并正确配置EL表达式: 1. 方法一:在每个JSP页面的顶部添加`&lt;%@ page isELIgnored="false" %&gt;`指令。这...

    EL表达式详解关于web的问题

    如果遇到EL表达式不起作用的情况,应检查是否有人在上述三个位置设置了禁用EL的配置。同时,确保正确地在适当的作用域中设置和检索变量,以防止因作用域问题导致的错误。 总之,EL表达式在Web开发中提供了强大的...

    EL表达式内置的方法

    #### 二、EL表达式的配置 EL表达式要在JSP页面中生效,首先需要确保JSP版本为2.0及以上,并且在`&lt;%@ page %&gt;`指令中设置`isELIgnored`属性为`false`。例如: ```jsp ``` 这行代码告诉容器不要忽略EL表达式,使得...

    java中JSP和el表达式的隐含对象

    ### Java中JSP和EL表达式的隐含对象详解 在Java Web开发中,JSP(Java Server Pages)作为一种常用的技术被广泛应用于构建动态网页。它允许开发者将HTML、JavaScript等静态网页元素与动态生成的内容混合在一起。在...

    jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法.docx

    因此,在性能敏感的应用场景中,可以根据实际情况灵活选择是否使用EL表达式。 - 对于习惯使用传统JSP脚本(如`&lt;% %&gt;`语法)的开发者而言,可以继续采用这种方式,以保持代码的一致性和提高开发效率。 #### 总结 ...

    JSP EL表达式

    - 隐式对象的使用需要在JSP页面的web.xml文件中对EL表达式的支持进行配置。 - EL表达式默认不启用对静态资源的访问,需要通过配置JSP页面解析器来启用。 总结而言,JSP EL表达式为JSP页面提供了一种轻量级的数据...

    自定义EL表达式

    最后,我们需要在JSP页面中引入我们的自定义函数库,并在EL表达式中使用它。在`elTest.jsp`页面中,我们添加以下代码: ```jsp ... ${m:getFruit("10") } ``` 这里,`prefix="m"`是我们为自定义函数库选择的前缀,...

Global site tag (gtag.js) - Google Analytics