黑马day06 EL表达式之运算符&11个内置Map对象

1.关于EL表达式的运算我不想多想,直接上例子吧....

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title></title>

	<meta http-equiv=" pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    

  </head>

  <body>
  <h1>empty 运算符:判断一个对象是否为null或者字符串是否为空或集合是否为空或域中是否没有任何属性</h1><hr>
  <%
  String str="aaa";
  pageContext.setAttribute("str", str);
  List list=new ArrayList();
  list.add("你好");
  pageContext.setAttribute("list", list);
   %>
   ${empty str }
   ${empty list }
   ${empty pageContext }
  <h1>三元运算符</h1><hr>
  ${9<8? "yes" : "no"}
   <h1>逻辑运算符</h1><hr>
   ${not(3>2 and 5<9 or 10<3) }

  <h1>比较运算符</h1><hr>
  ${1eq 1 }
  ${3ge 1 }
  ${8le 9 }
  ${9 gt 5 }
    <h1>算数运算:如果有非数字参与运算,EL会把非数字转化为数字</h1>
    ${1+1 }
    ${1+"2" }
  </body>
</html>

结果:

2.EL之11个内置对象。

大家一定不要和jsp的9大内置对象相混淆,jsp的9大内置对象是域对象,而EL的11个内置对象是对应的map.即时一个集合。

获取常用开发对象:el中内置了11个内置对象,这些对象el内置的,不需要提前定义就可以直接在el中使用

!pageContext -- 有了它可以很方便的获取jsp页面中的9大隐式对象

!pageScope -- page域中属性组成的Map

!requestScope -- request域中属性组成的Map

!sessionScope -- session域中属性组成的Map

!applicationScope --application域中属性组成的Map

!param -- 所有请求参数组成的Map<String,String>

paramValues -- 所有请求参数组成的Map<String,String[]>

header -- 所有请求头组成的Map<String,String>

headerValues -- 所有请求头组成的Map<String,String[]>

!cookie -- 所有cookie信息组成的Map<String,Cookie>

initParam -- 所有web应用的初始化参数组成Map

案例:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title></title>

	<meta http-equiv=" pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    

  </head>

  <body>
    <%
    	pageContext.setAttribute("name", "李卫康");
    	request.setAttribute("name", "韩玮");

     %>
     ${pageScope.name }
     ${requestScope.name }
     ${param.name }
     ${initParam.name }
  </body>
</html>

运行结果:

时间: 2024-12-06 13:10:46

黑马day06 EL表达式之运算符&11个内置Map对象的相关文章

黑马day06 EL表达式获取数据

获取数据: 使用中括号的地方都可以使用点号替代,除了中括号中是数字或者中括号中包含特殊字符(-.)的情况除外 在中括号中如果不用双引号引起来则是变量,先找变量的值再拿变量的值使用.如果用双引号则是常量,直接使用常量的值 ~获取常量 字符串/数字/布尔类型,直接写在el表达式中,el直接进行输出 ~获取域中的变量 如果el中写的是一个变量的名,则el会调用pageContext的findAttribute方法,在四大作用域中以给定的名字找对应的属性值,找到后进行输出,如果四个域中都找不到,什么都不

JSP EL表达式 与输入有关的内置对象

与输入有关的隐含对象有两个param和paramValues,用来取得用户的请求参数.在使用EL之前可以使用如下代码取得用户的请求参数: request.getParameter(String name); request.getParameterValues(name); param接收的参数只有一个值,而如果参数有几个值,就必须使用paramValues来接收参数. 结合EL内置对象和EL算术表达式做一个简单的计算器程序. 首先CalculatorForm.jsp,包含了两个文本框用于输入数

黑马day06 EL表达式之cout&amp;cset&amp;cremove标签

<c:out> 标签用于输出一段文本内容到pageContext对象当前保存的"out"对象中. <c:set>标签用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的 属性. <c:remove>标签用于删除各种Web域中的属性 <%@ page language="java" import="java.util.*" pag

JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% request.setCharacterEncoding("UTF-8"); %> <jsp:forward page="/index.jsp"> <jsp:param value="张三" name="userName&q

EL表达式---关系运算符

近来公司做html5页面的数据展现,发现集中使用了El表达式,而对于EL表达式,发现自己对于关系运算符的运用还存在很多不足,特此 查阅以前的书籍资料和从网上看一些大牛的笔记,总结如下: 首先El关系运算符有以下六个运算符: 关系运算符 说明 范例 结果 == 或 eq 判断符号两边是否相等,相等返回 true,否则返回false ${ 5 == 5 } 或 ${ 5 eq 5 } true != 或 ne 判断符号两边是否不相等,不相等返回 true,否则返回false ${ 5 != 5 }

在EL表达式或者Struts标签库中格式化日期对象,即将Date转换为yyyy-MM-dd格式

一.EL表达式 首先,在jsp页面引入<fmt> tags,<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>. 其次,将EL表达式作为fmt标签属性的value值.再增加pattern参数,为日期制定需要格式化的格式,如yyyy-MM-dd.例如: <fmt:formatDate value="${object.dateproperty}&quo

4/2 三元表达式/函数递归/匿名函数/内置函数

三元表达式 def max2(x,y) if x > y: return x else return y res=max2(10,11) 三元表达式仅应用于: 1 条件成立返回一个值 2 条件不成功返回一个值 def max2(x,y): return x if x>y else y print (max2(2,10)) 10 函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接地调用了函数的本身. 直接调用 def foo(): print ('fffff') foo() 间接调用

生成器 三元表达式 列表生成式 匿名函数 内置函数

生成器 1.什么是生成器? ? -生成的工具 ? -生成器是一个自定义的迭代器,本质上是一个迭代器. 2.如何实现生成器? -但凡在函数内定义的yield ? -调用函数时,函数体代码不会执行 ? 会返回一个结果,这个结果就是生成器. 3.yield ? -每一次的yield都会往生成器对象中添加一个值. ? -yield只能在函数内定义 ? -yield可以保存函数的暂停状态 yield和return的对比 ? -相同点: ? 返回值的是不限制的: ? -不同点 ? return一次只可以返回

黑马day06 EL之自定义EL函数

EL自定义函数(调用java方法)的步骤: 1.写一个类其中包含el要调用的函数,这个函数必须是静态的. 2.写一个tld文件在其中对要进行调用的函数进行描述 3.在jsp页面中的taglib指令将tld文件导入到要调用java方法的jsp页面中 案例:自定义进行URL编码的函数,并在jsp页面中调用. 1.自定义的函数 package cn.itheima.myfunction; import java.io.UnsupportedEncodingException; import java.