EL(Expression Language):目的是为了简化Jsp页面的语言,使页面看起来更加简洁

  基本的语法特点

    以“${"开头,以”}“结束

一 与低版本的环境兼容----禁用EL

  (1) 使用斜杠"\"符号:    \${expression}

  (2) 使用page命令:   <%@ page isELIgored="true" %>  // 属性为true则忽略EL表达式,反之则解析EL表达式

  (3) 在web.xml文件中配置<el-ignored>元素

    eg:

<jsp-config>
<jsp-property-group>
<ul-pattern>*.jsp</url-pattern>
<el-Ignored>true</el-Ignored> //此处设置为false,表示使用EL
</jsp-property-group>
</jsp-config>

二  保留的关键字

    el也有自己的保留的关键字,在为变量命名时候,应尽量避免给这些关键字

    and eq gt  instanseof div .......

三 EL的运算符及优先级

    1 通过EL访问数据

      通常情况下,"[]"和"."运算符是等价的。可以相互替代

      eg ${userInfo.id} ==  ${userInfo[id]}

      特别情况;例如在数组元素的获取,集合元素的获取

    2 EL中进行算术运算

      除 /或div

      求余  %或mod

      在这里值得注意的是+号两边的类型如果可以转换成数值类型的话就进行加运算,否则抛出异常

 3 在EL中判断对象是否为空

      ${empty expression}

    4 在EL中进行条件运算

    这一点和Java中的一样

     ${条件表达式 ?表达式1:表达式2}

    如果条件为true,则执行表达式1;否则执行表达式2

四 EL的隐含对象

   EL提供了11个隐含对象,这些对象类似于JSP的内置对象,也是直接通过对象名进行操作的    

   1 页面上下文对象  pageContext

      这里除了application,config和pageContext)都可以访问Jsp内置核心对象

      eg: ${pageContext.request}

   2 访问作用域范围的隐含对象

      EL中提供了4个用于访问作用域范围的隐含对象,即pageScope,requestScope,sessionScope,applicationScope

     3 访问环境信息的隐含对象

      EL中提供了6个访问环境信息的隐含对象,即param,paramValues,header和headerValues对象,initParam对象

五 自定义EL

  步骤:

    (1) 编写一个Java类,并在该类中编写公用的静态方法,用于实现自定义EL函数的具体功能

    (2)编写标签库描述文件,对函数进行声明。该文件的扩展名为.tld,被保存到Web应用的WEB-INF文件夹下

    (3)在JSP页面总引用标签库,并调用定义的EL函数,实现响应的功能。

      

  (1) Java代码

package com.yc
public class String{
public static void main(String[] args){
String newStr=str.replaceAll("\r\n","<br>");
newStr=newStr.replaceAll("","&nbsp;");
ruturn newStr;
}
}

  (2) 编写标签库文件,名称为stringDel.tld

    

<?xml version="1.0" encoding="GBK"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<!-- 定义函数版本 -->
<tlib-version>1.0</tlib-version>
<uri>/stringDeal</uri>
  <!--定义函数名称-->
  <short-name>el<short-name>   <!-- 定义第一个函数 -->
    <function>
<!-- 定义第一个函数:reverse -->
<name>reverse</name>
<!-- 定义函数处理类 -->
<function-class>com.yc.StringDeal</function-class>
<!-- 定义函数的对应方法 -->
<function-signature>
java.lang.String shiftEnter(java.lang.String)
</function-signature>
</function> </taglib>

  (3) 编写index.jsp,使用自定义标签

<%@ taglib uri="/stringDeal" prefix="el" %> 

  <body>
${shiftEnter("ad") }
</body>

   

    

EL(表达式语言)的更多相关文章

  1. JSP简明教程(四):EL表达式语言、JavaBean、Cookie、Session

    EL表达式语言 EL这是Expression Language.的目的是为了简化JSP句法.来看几个例子来清除. ${test} 它会被翻译成<%=test%> ${test.name} ...

  2. EL表达式语言

    EL (Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法. ...

  3. 【JSP】EL表达式语言

    EL简介 EL语言原本是JSTL1.0中的技术(所以EL和JSTL配合如此亲密和默契也就是自然的了),但是从JSP2.0开始(JSTL1.1)就分离出来纳入了JSP的标准了.因此EL不需要任何jar包 ...

  4. JSP的EL表达式语言

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/expression-language.html: JSP表达式语言(EL)可以方便地访问存储在JavaB ...

  5. 11.EL(表达式语言)

    一.EL概述 EL(Expression Language,表达式语言)是JSP2.0 中引入的新内容.通过EL可以简化在JSP中对对象的引用,从而规范页面代码,增加程序的可读性和可维护性. 1.EL ...

  6. EL表达式语言总结

    EL介绍 Expressive Language, JSP2.0引入,简化jsp开发中对对象的引用. 基本语法 ${表达式} 常见用法 根据其访问对象,可大体分成三类:访问数据及其各种表达式,访问EL ...

  7. 表达式语言EL

    表达式语言EL 表达式语言 EL(Expression Language,表达式语言)主要是用在JSP页面中,用来辅助我们产生无脚本的JSP页面,此处的脚本指的是JSP中的Java代码. EL的语法是 ...

  8. java web学习总结(三十一) -------------------EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  9. 11 JSP/EL表达式/EL函数

    JSP      * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行      * JSP的运行原 ...

随机推荐

  1. 明天学习一下验证码的匹配和thinkphp第十三章

    333333333 js 冒泡排序 var arr=[17,19,5,90,3];window.onload=function(){// alert(arr[0]);var len=arr.lengt ...

  2. 转-CSS优先级(权重)解析

    1.多个选择器可能会选择同一个元素,有3个规则,从上到下重要性降低: !important的用户样式 !important的作者样式 作者样式 用户样式 浏览器定义的样式 2. CSS规范为不同类型的 ...

  3. 浏览器差异性hack

    1 js函数 很多人误以为数组 push 方法拼接字符串会比 += 快,要知道这仅仅是 IE6-8 的浏览器下. 实测表明现代浏览器使用 += 会比数组 push 方法快,而在 v8 引擎中,使用 + ...

  4. LeetCode OJ 153. Find Minimum in Rotated Sorted Array

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...

  5. USB 设备插拔事件处理

            Windows 系统下,设备连接至电脑或从电脑移除,系统会广播一条 WM_DEVICECHANGE 消息到所有应用程序,在程序的消息处理函数中可以对事件进行相应. 1: class C ...

  6. chapter11_3 字符串缓冲

    逐行地读取一个文件,典型的代码是: local buff= " " for line in io.lines() do buff = buff .. line .. "\ ...

  7. ubuntu下打开chm文件

    CHM文件格式是微软1998年推出的基于HTML文件特性的帮助文件系统,以替代早先的WinHelp帮助系统,它在Windows 98中把CHM类型文件称作“已编译的HTML帮助文件”. chm文件因为 ...

  8. Mac 命令行中进入带有空格的文件夹

    http://blog.sina.com.cn/s/blog_5e8392b10100jkvg.html 今天在公司用mac的时候,有个文件夹的名字有空格,怎么都进不去,在网上一查原来不能直接cd 文 ...

  9. AccessToMySql数据库的导入以及java生成.exe文件

    一.AccessToMySql 最近做了一个Access数据库导入MySql的小工具,期间遇到诸多问题,这里小计一下. 表名为cur_rec,共有5个字段 比较奇葩的是这个表居然是四个字段的联合主键, ...

  10. MS13-069(CVE-2013-3205) CCaret use-after-free Vulnerability Analysis (2014.9)

    MS13-069(CVE-2013-3205) CCaret use-after-free Vulnerability Analysis 1. Introduction In IE's standar ...