EL(Expression Language)表达式
来源:互联网 发布:火车头数据采集器使用 编辑:程序博客网 时间:2024/04/29 12:15
EL 全名为Expression Language。EL主要作用:
获取数据:
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
获取数据:
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
执行运算:
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
<%@page import="com.itheima.domain.Person"%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib uri="http://www.itheima.com/MyFunc" prefix="myFunc" %><%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head></head><body><hr /><h1>用来操作javabean的属性</h1><%Person p = new Person();p.setName("李四");p.setAge(15);pageContext.setAttribute("p", p);%>${p.age } <!--15 -->${p.name }<!-- 李四 --><a href="${pageContext.request.contextPath }/index.jsp">xxxx</a><hr><h1>用来操作Map的数据</h1>使用中括号的地方都可以使用点来替代,除了中扩号中为数字或包含特殊字符的情况.-<br>如果中括号中书写的值有引号,则el表达式直接使用该值。如果中扩中的值没有引号,则el表达式将其作为一个变量到域中搜寻变量的值,找到的变量的值作为关键字使用<br><%Map map = new HashMap();map.put("name1", "张飞1");map.put("name2", "张飞2");map.put("name3", "张飞3");pageContext.setAttribute("map", map);pageContext.setAttribute("name2", "name3");%>${map["name2"]} <!--张飞2 -->${map[name2] } <!-- 张飞3 -->${map.name1 }<!-- 张飞1 -->${map.name4 }<!-- 不输出任何内容 --><hr /><h1>用来操作List的数据</h1><%List list = new ArrayList();list.add("11111");list.add("22222");list.add("33333");pageContext.setAttribute("list", list);%>${list[1] }<!-- 22222 --><hr /><h1>用来操作数组中的数据</h1><%String[] names = { "aaa", "bbb", "ccc" };pageContext.setAttribute("names", names);%>${names[1] }<!--bbb --><hr /><h1>用来输出域中的数据</h1><%pageContext.setAttribute("name", "张天师");%>${name }<!-- 张天师 --><hr /><h1>el支持三元运算符</h1><%int i = 10;int num2 = i < 100 ? i : 100;%>${1>3?"你确定吗?":"1不可能大于3" }<!-- 1不可能大于3 --><hr><h1>el可以empty运算符,此运算符用来检查对象是否为null或“空”</h1>null true 集合 虽然不为null 但是集合中内容为空,返回true 字符串 虽然部位null 但是字符串是空字符串“”返回false<%String[] ns = {};System.out.print(ns);pageContext.setAttribute("ns", ns);%>${empty ns }<!-- true --><%char[] nn = {};pageContext.setAttribute("nn", nn);%>xxxx${empty nn }<!-- false --><hr><h1>el可以用来进行逻辑运算</h1>&& and || or ! not ${1>3 || 3<5 } <!-- true -->${1>3 or 3<5 }<!--true --><hr><h1>el可以用来进行关系运算</h1>== eq > gt < lt <= le >= ge != ne ${1==1 }${1 eq 1 } ${1>2 }${1 gt 2 }<%int num = 10;pageContext.setAttribute("num", num);%>${num>5 }<!--true --><hr><h1>el可以用来进行算数运算,在进行算术运算时,el将会试图把非数字转换为数字参与运算</h1>${1+1}<!-- 2 --><hr /><%pageContext.setAttribute("class", "pageContext");request.setAttribute("class", "request");application.setAttribute("class", "application");%><!-- http://localhost:8080/Test6/el1.jsp?name1=aaa&name2=333 -->${param.name1 } <!-- aaa -->${param.name2 } <!-- 333 -->${header["Accept-Language"] }<!-- Accept-Language:zh-CN,zh;q=0.8 -->${headerValues["Accept-Language"][0] } <!-- zh-CN,zh;q=0.8 -->${cookie.JSESSIONID.name }<!-- JSESSIONID -->${cookie.JSESSIONID.value } <!-- 0A550C47771A781130D5D37825465708 --><!-- web.xml<context-param><param-name>name1</param-name><param-value>value1</param-value></context-param> -->${initParam.name1 }<!-- value1 --><hr/><h1>调用java里面的方法</h1><!-- 1.WEB-INF目录下 myFunc.tld<?xml version="1.0" encoding="UTF-8"?><taglib version="2.0" 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"> <tlib-version>1.0</tlib-version> <short-name>myFunc</short-name> <uri>http://www.itheima.com/MyFunc</uri> <function> <name>encode</name> <function-class>com.itheima.el.MyURLEncoder</function-class> <function-signature> java.lang.String MyEncode( java.lang.String ,java.lang.String ) </function-signature> </function></taglib>2.在com.itheima.el包创建MyURLEncoder。javapackage com.itheima.el;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;public class MyURLEncoder {//将传入的字符串进行URL编码后返回public static String MyEncode(String str,String charset){try {return URLEncoder.encode(str, charset);} catch (UnsupportedEncodingException e) {e.printStackTrace();throw new RuntimeException();}}}3.<%-- <%@taglib uri="http://www.itheima.com/MyFunc" prefix="myFunc" %> --%> -->${myFunc:encode("涂文远","utf-8") }<!-- %E6%B6%82%E6%96%87%E8%BF%9C --><hr/><h1>jstl中的常用el函数</h1>${fn:toUpperCase("xxxHJKLSDfkjsdKJkfdkfjkSD") }<!-- XXXHJKLSDFKJSDKJKFDKFJKSD --> ${fn:toLowerCase("xxxHJKLSDfkjsdKJkfdkfjkSD") }<!-- xxxhjklsdfkjsdkjkfdkfjksd --> ${fn:trim(" www.it315.org ") }<!--www.it315.org--> ${fn:length("www.it315.org") }<!-- 13--> ${fn:split("www.baidu.com",".")[1] }<!--baidu --> ${fn:join(fn:split("www,baidu,com",","),".") }<!--www.baidu.com --> ${fn:indexOf("www.baidu.com","baidu") }<!--4 --> ${fn:contains("www.baidu.com","baidu") }<!--true --> ${fn:containsIgnoreCase("www.baidu.com","Baidu") }<!-- true--> ${fn:startsWith("www.baidu.com","www") }<!-- true --> ${fn:endsWith("www.baidu.com","cn") }<!-- false --> ${fn:replace("www it315 org", " ", ".") }<!--www.it315.com --> ${fn:substring("www.baidu.com",4,9) }<!-- baidu --> ${fn:substringAfter("www.baidu.com",".") }<!--baidu.com --> ${fn:substringBefore("www.baidu.com",".") }<!-- www --> </body></html>
1 0
- EL(expression language)表达式
- EL(Expression Language)表达式
- EL(Expression Language表达式语言)
- JSP EL(Expression Language)表达式
- EL(expression language)表达式
- 表达式语言EL(Expression Language)
- (转)EL表达式(Expression Language)
- 表达式语言 EL (Expression Language)
- EL(Expression Language)表达式
- 表达式语言EL(Expression Language)
- EL表达式(Expression Language) 基本语法
- EL(Expression Language)表达式概述
- EL(Expression Language)表达式的介绍
- EL(Expression Language)
- EL(Expression Language)初步
- EL(Expression Language)
- EL(Expression Language)
- 【EL】expression language
- Struts2框架-基础知识
- jQuery动态生成html元素的几种方法
- 简单的二维码扫描封装,要在真机上试才不会崩溃
- C#修饰符stattic、virtual、abstract、override、sealed、extern
- JavaScript Ajax实现异步通信
- EL(Expression Language)表达式
- 消息队列选型[首选Kafka](备选:RabbitMQ/NSQ/RocketMQ/disque/Kafka)
- SQL Server 2008可视化设置外键
- 安卓ListView与ScrollView截图
- MindManager 2017中线条颜色该怎么调整?
- easyui 改变下拉框高度
- Hashtable
- 记录一些 用过的 cmd 命令
- 用VS2015开发Linux程序