EL表达式总结(二)

EL表达式总结(一)

一、执行运算

EL表达式除了获取域中数据还可以执行运算

语法:${运算表达式}

算术、

关系运算符、

逻辑运算符、

empty运算符:

用于判断一个对象是否为空,如果判断的对象是null或者空字符串,都返回true。对于集合,即使集合对象本身不是null,没有任何元素,也返回true。一定要放在域中才能取到

EL表达式不支持字符串链接操作。

二、11大EL内置对象

为方便获取一些数据,EL表达式定义了一些隐含对象,EL表达式有11个内置对象,jsp有9个内置对象

EL隐式对象名称                                              Java类型
pageContext(当前对象)                                                    javax.servlet.jsp.PageContext
剩余的都是代表的Map集合
pageScope (页面范围内所有对象)                                                       java.util.Map
requestScope                                                    java.util.Map
sessionScope                                                    java.util.Map
applicationScope                                               java.util.Map
param (保存了所有请求参数的map对象)                                                               java.util.Map
paramValues                                                     java.util.Map
Header                                                              java.util.Map
headerValues                                                    java.util.Map
cookie                                                                java.util.Map
initParam                                                           java.util.Map

jsp九大内置对象

每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。
  由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。
  JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用

1.Request HttpServletRequest
2.Response HttpServletResponse
3.Session HttpSession(有开关:page指令的session属性的取值)
4.Application    servletContext
5.Config  servletConfig
6.Page   this(当前servlet对象)
7.Exception  java.lang.Throwable(有开关的:page指令的isErrorPage属性改为true)
8.Out    jspWriter
9.pageContext  javax.servlet.jsp.PageContext

三、JSTL中常用EL函数

1.fn:contains函数(判断是否包含目标字符串)

fn:contains(String source,String target)--boolean;

${fn:contains("Tomcat","cat")}

2.fn.containsIgnoreCase函数(判断是否包含目标字符串,并且判断时忽略大小写)

3.fn:startWith函数(判断是否以目标字符串开头)

4.fn:endsWith函数(判断是否以目标字符串结尾)

5.fn:indexOf函数(匹配索引找目标字符串)

6.fn:replace函数(把字符串中的一部分替换成另外的字符串)

7.fn:substring函数(获取特定子字符串)

8.cn:substringBefore函数(获取指定字符串之前的子字符串)

9.fn:substringAfter函数(获取特定子字符串之后的子字符串)

10.fn:split函数(将字符串拆分为一个字符串数组)

11.fn:join函数(将所有字符串连接为一个字符串)

12.fn:toLowerCase函数(将字符串中的所有字符改为小写)

13.fn:toUpperCase函数(将字符串中的所有字符改为大写)

14.fn:trim函数(将字符串中的开头和末尾的空格删除)

15.fn:escapeXml函数(将所有特殊字符转化为字符实体码)

语法:

${fn:escapeXml(<要转义标记的文本>)}

《参考菜鸟教程》
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>Using JSTL Functions</title>
</head>
<body>

<c:set var="string1" value="This is first String."/>
<c:set var="string2" value="This <abc>is second String.</abc>"/>

<p>使用 escapeXml() 函数:</p>
<p>string (1) : ${fn:escapeXml(string1)}</p>
<p>string (2) : ${fn:escapeXml(string2)}</p>

<p>不使用 escapeXml() 函数:</p>
<p>string (1) : ${string1}</p>
<p>string (2) : ${string2}</p>

</body>
</html>



使用 escapeXml() 函数:

string (1) : This is first String.

string (2) : This <abc>is second String.</abc>

不使用 escapeXml() 函数:

string (1) : This is first String.

string (2) : This is second String.

16.fn:length函数(返回字符串的字符的个数,或者集合和数组的元素的个数)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值