1.从特定域中获取值;

2.从请求页面的input标签中,获取值;(同servlet中的getParameter和getParameterValues);

3.获取请求头(同servlet中的getHeader和getHeaders);

4.获取cookie和session;

5.获取全局参数;

前驱页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/JSP_Study/el_expression/04el.jsp">
name:<input name="name" type="text" value="aaa"/><br>
name:<input name="name" type="text" value="bbb"/><br>
<input type="submit" value="跳入04el.jsp"/> </form>
</body>
</html>

测试El的JSP:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false" import="java.util.*, java.lang.*"%>
<%
// 为什么我这儿加一个逻辑判断仍然不对?
boolean t = (request.getParameter("name") == null);
System.out.println(t);
if(request.getParameter("name") == null) {
/* request.getRequestDispatcher("04pre_04el.jsp").forward(request, response); */
/* response.sendRedirect("/el_expression/04pre_04el.jsp"); */
response.sendRedirect("/JSP_Study/el_expression/04pre_04el.jsp"); // 重定向是浏览器行为!!!
} else { // 此处必须写else :并发执行不然会出现空指针异常!!!
// 去理解jsp的生成过程,转化成.class文件的过程,是否是因为存在并发的执行操作。
%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EL的11个内置对象</title>
</head>
<body> <%--
1) 1.pageContext 等价于 jsp中的pageContext内置对象
--%>
<%-- 获取上下文路径:此处的两种方式都可以,我熟悉的是通过servletContext来获取上下文路径;这里提供的request获得不太明白 --%>
${pageContext.servletContext.contextPath }<br>
${pageContext.request.contextPath }<br>
<hr> <%--
2.pageScope
3.requestScope
4.sessionScope
5.applicationScope
从指定的域中获取数据
--%> <%--
2) 6.param:获取参数
7.paramValues:获取所有参数值
--%>
用JSP内置的request的getParameter获取的:<%=request.getParameter("name") %><br>
用EL的param获取的: ${param['name'] }<br>
用JSP内置的request的getParameterValues获取的:<%=request.getParameterValues("name")[1] %><br>
用EL的paramValues获取的:${paramValues['name'][0] } -- ${paramValues['name'][1] }
<hr>
<%--
3) 8.header:获取请求头
9.headerValues
类似上面的param和paramValues
--%>
JSP内置对象header获取:<%=request.getHeader("host") %><br>
JSP内置对象headers获取:<%=request.getHeaders("host").nextElement() %><br>
EL内置对象header获取:${header['host'] }<br>
EL内置对象headerValues获取:${headerValues['host'][0] }
<hr> <%--
4)10.cookie: 获取cookie
--%>
<hr/>
<%=request.getCookies()[0].getValue() %><br/>
${cookie['JSESSIONID'].name } - ${cookie['JSESSIONID'].value }
<hr/> <%--
5)11.initParam: 获取全局参数
--%>
<%=application.getInitParameter("AAA") %><br/>
${initParam['AAA'] }
</body>
</html>
<%} %>

EL表达式学习(二)的更多相关文章

  1. EL表达式学习笔记

     转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6684424.html  一:EL表达式的用途 1.获取数据:(某个web域 中的对象,访问javabean的 ...

  2. EL表达式学习(一)

    一.初次接触EL表达式: <%@ page language="java" import="java.util.*" pageEncoding=" ...

  3. EL表达式学习

    EL表达式取值 1.EL表达式的语法格式很简单: 以前编写jsp代码时,如果要获取表单中的用户名,一般使用 <%=request.getParameter("name")%& ...

  4. EL表达式(二)运算符

    运算符"."和"[]": "."能做的"[]"也能做,"[]"能做的"."不一定 ...

  5. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  6. EL表达式详解(常用表达式以及取值)

    EL表达式 学习总结 一. El表达式概念 二. El中的表达式 1. 算术表达式 2. 比较表达式 3. 逻辑表达式 4. 三元表达式 5. 判空表达式 三.EL 从四个作用域中取值 1. 概念 2 ...

  7. EL表达式-例子

    <%@page import="java.util.*"%> <%@page import="java.util.ArrayList"%> ...

  8. javaweb开发之EL表达式

    一.EL简介 EL全名为Expression Language,它主要用于替换JSP页面中的脚本表达式<%= %>,从各种类型的Web域中检索Java对象.获取数据.它可以很方便地访问Ja ...

  9. El 表达式和 Jstl 标签库

    El 表达式学习 1. 什么是 EL 表达式 全称:Expression Language,一种写法非常简介的表达式.语法简单易懂,便于使用.表达式语言的灵感来自于 ECMAScript 和XPath ...

随机推荐

  1. 认识vue-cli脚手架

    ps:脚手架系列主要记录我自己(一名前端小白)对脚手架学习的一个过程,如有不对请帮忙指点一二! [抱拳] 作为一名前端开发工程师,平时开发项目大多都离不开一个重要的工具,那就是脚手架.下面让我们来了解 ...

  2. Android系统编程入门系列之界面Activity响应丝滑的传统动画

    上篇文章介绍了应用程序内对用户操作响应的相关方法位置,简单的响应逻辑可以是从一个界面Activity跳转到另一个界面Activity,也可以是某些视图View的相对变化.然而不管是启动一个界面执行新界 ...

  3. mysql实现主从复制、读写分离的配置方法(二)

    由于接触主从复制,读写分离的时间比较短,应用还不够熟练,目的是能通过MyCat实现基础的读写分离操作. 其核心功能是分库分表,配合数据库的主从模式还可实现读写分离. 1. 测试环境 一台win10主机 ...

  4. 简单快速安装Apache+PHP+MySql服务环境(一)

    由于自己只是普通的coder,对于服务器的操作不是很熟悉,在网上找了很多关于PHP和apache服务器环境搭建的帖子,不过都不尽相同,尤其是编译安装更是看的云里雾里的,所以选择了一种比较简单的方式进行 ...

  5. Python - 详解 range()

    介绍 range 是一个类,不是函数 表示不可变的数字序列,通常用于在 for 循环中循环指定的次数 两种语法格式 range(stop) 表示区间 [0, stop) 内的整数序列 该区间从 0 开 ...

  6. Android中的一些小细节

    在代码中获取到的padding .margin.getWidth.event.getX.context.getResources().getDimensionPixelSize(R.dimen.key ...

  7. linux命令打基础

    目录 一.shell概述 二.linux命令分类 三.linux命令行 3.1 格式 3.2 编辑Linux命令行 四.Linux基础命令 4.1 pwd:查看当前的工作目录 4.2 cd:切换工作目 ...

  8. 虚拟基站(VRS)

      虚拟参考站技术(Virtual Reference Station,简称VRS)也称虚拟基准站技术,是一种网络实时动态测量实时动态测量(RTK)技术,通过在某一区域内建立构成网状覆盖的多个GPS基 ...

  9. 大写字母与小写字母 相差 一个 空格 A = 65 a = 97 空格 = 32

    1 //大写字母与小写字母 相差 一个 空格 A = 65 a = 97 空格 = 32 2 3 #include <stdio.h> 4 int main() 5 { 6 7 char ...

  10. xubuntu共享打印机

    by 无若 1.查看系统中的打印机lpstat -ssystem default destination: HP-Color-LaserJet-CP1215device for HP-Color-La ...