EL(表达式语言)
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(""," ");
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(表达式语言)的更多相关文章
- JSP简明教程(四):EL表达式语言、JavaBean、Cookie、Session
EL表达式语言 EL这是Expression Language.的目的是为了简化JSP句法.来看几个例子来清除. ${test} 它会被翻译成<%=test%> ${test.name} ...
- EL表达式语言
EL (Expression Language) 目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法. ...
- 【JSP】EL表达式语言
EL简介 EL语言原本是JSTL1.0中的技术(所以EL和JSTL配合如此亲密和默契也就是自然的了),但是从JSP2.0开始(JSTL1.1)就分离出来纳入了JSP的标准了.因此EL不需要任何jar包 ...
- JSP的EL表达式语言
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/expression-language.html: JSP表达式语言(EL)可以方便地访问存储在JavaB ...
- 11.EL(表达式语言)
一.EL概述 EL(Expression Language,表达式语言)是JSP2.0 中引入的新内容.通过EL可以简化在JSP中对对象的引用,从而规范页面代码,增加程序的可读性和可维护性. 1.EL ...
- EL表达式语言总结
EL介绍 Expressive Language, JSP2.0引入,简化jsp开发中对对象的引用. 基本语法 ${表达式} 常见用法 根据其访问对象,可大体分成三类:访问数据及其各种表达式,访问EL ...
- 表达式语言EL
表达式语言EL 表达式语言 EL(Expression Language,表达式语言)主要是用在JSP页面中,用来辅助我们产生无脚本的JSP页面,此处的脚本指的是JSP中的Java代码. EL的语法是 ...
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- 11 JSP/EL表达式/EL函数
JSP * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行 * JSP的运行原 ...
随机推荐
- vim 替换
摘自: vim替换命令 替換(substitute) :[range]s/pattern/string/[c,e,g,i] range 指的是範圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後 ...
- JavaScript事件响应的基础语法总结
1.onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件.同时onclick事件调用的程序块就会被执行,通常与按钮一起使用 //例子 <html> <head> ...
- POJ 2599 A funny game#树形SG(DFS实现)
http://poj.org/problem?id=2599 #include<iostream> #include<cstdio> #include<cstring&g ...
- npm-link
https://docs.npmjs.com/cli/link Description Package linking is a two-step process. First, npm link i ...
- ElasticSearch(5)-Mapping
一.Mapping概述 映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确的字符串值,Elasticsearch需要知道每个字段里面都包含了 ...
- ZUFE 1035 字符宽度编码(字符串)
Time Limit: 1 Sec Memory Limit: 128 MB Description 你的任务是编写一个程序实现简单的字符宽度编码方法.规则如下:将任何2~9个相同字符的序列编码成2 ...
- Java 散知识
1.final关键字的用法: 1. final关键字修饰一个基本类型的变量时,该变量不能重新赋值,第一次的值为最终的. 2. fianl关键字修饰一个引用类型变量时,该变量不能重新指向新的对象. 3. ...
- 【Machine Learning in Action --4】朴素贝叶斯电子邮件垃圾过滤
摘要:这里用的是词袋模型,即一个词在文档中出现不止一次,每个单词可以出现多次. 1.准备数据:切分文本 前一节过滤网站恶意留言中词向量是给定的,下面介绍如何从文本文档中构建自己的词列表 先举例说明,在 ...
- 基于Flash ActionScript 实现RTMP发布与播放媒本流
1 为什么要采用Flash ActionScript实现RTMP协议发布或播放媒体流,播放媒体流,协议可控,比如对流媒体数加密,混音等. 2 核心思路使用Flash Socket建立TCP二进制传输 ...
- sysadmin_basement
基本部分 1. 系统硬件 1.1. 主板 获取序列号 $ sudo dmidecode -t system |grep -i Serial Serial Number: CNU9032T3N 获取厂商 ...