EL表达式整理总结

原创 2015年07月07日 21:20:55

EL:Expression Language,它是可以在JSP页面中直接使用的语言!

JSP页面也可以忽略EL:<@page isELIgnored="true"%>

EL用来代替<%=...%>


格式:${...},例如:${1 + 2},会在页面上输出3


运算符:+ - * / % == != < > <= >= && ! || empty

${empty ""} --> 输出true,判断集合、数据、字符串长度是否为0

${null},不会输出!如果是null不输出!


EL内置对象

这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。

* pageScope

* requestScope

* sessionScop

* applicationScop

* param;

* paramValues;

* header;

* headerValues;

* initParam;

* cookie;

* pageContext;


1、EL表达式来读取四大域

* ${xxx}: 全域查找名为xxx的属性从小到大,如果不存在,输出空字符串,而不是null。

* ${pageScope.xxx}、${requestScope.xxx}、${sessionScope.xxx}、${applicationScope.xxx},指定域获取属性!


2、其他内置对象

* param:对应参数,它是一个Map,其中key参数名,value是参数值,适用于单值的参数。

* paramValues:对应参数,它是一个Map,其中key参数名,value是多个参数值,适用于多值的参数。

* header:对应请求头,它是一个Map,其中key表示头名称,value是单个头值,适用于单值请求头。

* headerValues:对应请求头,它是一个Map,其中key表示头名称,value是多个头值,适用于多值请求头。

* initParam:获取<context-param>内的参数!

  <context-param>
  <param-name>xxx</param-name>
  <param-value>XXX</param-value>
  </context-param>
  <context-param>
  <param-name>yyy</param-name>
  <param-value>YYY</param-value>
  </context-param>

  ${initParam.xxx}

* cookie:Map<String,Cookie>类型,其中key是cookie的name,value是cookie对象。 ${cookie.username.value}

* pageContext:它是PageContext类型!${pageContext.request.contextPath}


EL函数库(由JSTL提供的) 

导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

String toUpperCase(String input):把参数转换成大写
String toLowerCase(String input):把参数转换成小写
int indexOf(String input, String substring):从大串,输出小串的位置!
boolean contains(String input, String substring):查看大串中是否包含小串
boolean containsIgnoreCase(String input, String substring):忽略大小写的,是否包含
boolean startsWith(String input, String substring):是否以小串为前缀
boolean endsWith(String input, String substring):是否以小串为后缀
String substring(String input, int beginIndex, int endIndex):截取子串
String substringAfter(String input, String substring):获取大串中,小串所在位置后面的字符串
substringBefore(String input, String substring):获取大串中,小串所在位置前面的字符串
String escapeXml(String input):把input中“<”、">"、"&"、"'"、""",进行转义
String trim(String input):去除前后空格
String replace(String input, String substringBefore, String substringAfter):替换
String[] split(String input, String delimiters):分割字符串,得到字符串数组
int length(Object obj):可以获取字符串、数组、各种集合的长度!
String join(String array[], String separator):联合字符串数组!


自定义函数库
* 写一个java类,类中可以定义0~N个方法,但必须是static,而且有返回值的!
* 在WEB-INF目录下创建一个tld文件
  <function>
    <name>fun</name>
    <function-class>cn.itcast.fn.MyFunction</function-class>
    <function-signature>java.lang.String fun()</function-signature>
  </function>
* 在jsp页面中导入标签库
   <%@ taglib prefix="it" uri="/WEB-INF/tlds/itcast.tld" %>
* 在jsp页面中使用自定义的函数:${it:fun() }


相关文章推荐

关于EL表达式语言的简单总结

  • 2009年10月15日 16:16
  • 14KB
  • 下载

Java知识整理(二十一)之EL表达式

EL表达式:简单的计算规则,用于给JSP标签属性赋值,也可以直接用来输出(JSP中嵌套Java代码不利于维护) 作用: 访问Bean属性(pageContext,request,session,a...

EL表达式总结

在MVC体系结构中,JSP页面只是用来显示数据,但JSP脚本中的表达式功能不够强大,它不能直接对隐式对象中某对象的属性进行显示,需要配合Scriptlet才能显示数据,很是麻烦,如果在JSP页面中使用...
  • cyjch
  • cyjch
  • 2016年05月25日 15:33
  • 137

EL表达式总结

转自:  http://www.cnblogs.com/cyjch/archive/2012/02/08/2342387.html EL表达式总结 ...
  • luofuIT
  • luofuIT
  • 2015年01月07日 17:26
  • 468

EL表达式个人总结

1、语法结构 ${expression} 2、[ ]与.运算符 EL 提供“.“和“[ ]“两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如 . 或 - 等并非...
  • sx5273
  • sx5273
  • 2014年11月30日 17:18
  • 271

EL简介及表达式总结

一、EL简介 1.语法结构 ${expression} 2.[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就...
  • mm2223
  • mm2223
  • 2011年11月07日 17:03
  • 228

jsp页面EL表达式不被解析问题总结

把web.xml  中Web-App版本修改到2.4 web-app version="2.5" xmlns="http://java.sun.com/xml/ns/java...

EL表达式总结和使用

EL的作用(为什么学习EL) EL功能 1,EL获取数据 2,EL执行运算 3,EL获取web开发常用对象 EL作用(为什么要学习EL) EL和JSTL一起...

用EL表达式取List<Map<String, Object>>map的值(查阅了很久,总结一下)

1.首先是查询到List数据 1.然后在jsp遍历取出,总结我在网上查到的“技能”,首先遍历List,得到map对象list,再通过EL表达式${map.['KEY']},在这个例子中即是${...
  • cooopa
  • cooopa
  • 2016年02月18日 22:18
  • 1072

EL表达式中的 c 标签(完美总结)

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EL表达式整理总结
举报原因:
原因补充:

(最多只允许输入30个字)