JSP知识_EL表达式

关联参照:

  el 表达式的小讲解 http://www.imooc.com/article/15047

    JSP常用标签 http://www.imooc.com/learn/451

  Java web中的EL和jstl表达式入门 http://www.imooc.com/article/13860

   JSTL详解--EL表达式 http://www.cnblogs.com/hya1109/archive/2007/10/02/912947.html

  EL表达式总结 http://www.cnblogs.com/cyjch/archive/2012/02/08/2342387.html

  JSF Expression Language(EL表达式) http://www.cnblogs.com/wenjl520/archive/2009/12/24/1631504.html

  javaweb学习总结(二十九)——EL表达式 http://www.cnblogs.com/xdp-gacl/p/3938361.html

el 表达式的小讲解------------------------------------------------------------------------

el表达式是什么?
sun制订的一种用于计算的一种规则,早期只能用于给标签的属性赋值,现在也可以直接输出。
) 第一种: 访问bean的属性
a. ${user.name}:
jsp引擎会依次从pageContext、request、session、application查找绑订名为“user” 的对象,如果找到了,就不再向下查找,否则,继续向下查找。 找到后,调用该对象的getName(),并输出其值;找不到,则输出""(空)。
b. 或者也可以使用${user["name"]},效果相同
"name" 表示字符串
c. 或者是${user[propname]},注意propname没有引号,表示变量
d. 此外,[ ]里面还可以是0,1..这样的下标,作用是输出数组里的元素值。
e. 可以使用pageScope,requestScope,sessionScope,applicationScope四个关键字指定查找的范围。
f. ${requestScope.user.name}只到request中去找,不再依次到4个范围查找了
第二种: 获得请求参数值
a. ${param.username}
等价于 request.getParameter("username");

b. ${paramValues.interest}
等价于request.getParameterValues("interest");
第三种: 计算一个表达式,将结果作为标签的属性值或者直接输出
a. 算术运算
“+” , “-” , “*” , “/” , “%” , 但是要注意,“+”号不能连接字符串。
b. 关系运算
"==" , "!=" , ">" , "<" ,">=" , "<="
可以使用对应的"eq","nq","lt","gt","le","ge"代替。
c. 逻辑运算
"&&","||","!",
可以使用"and","or","not"代替。
d. empty运算
判断一个字符串是否为空,集合内容是否为空,以及绑订的对象是否存在

图片描述

----El+jstl入门-----------------------------------------------------------------------------------------------------------
一、 el + jstl 入门
el 作为一种表现层的技术,防止了null空指针的异常。如果发现为null,他就不输出了。

  1. EL 全名为Expression Language。它是一种数据访问语言

el 表达式

  1. EL 能实现如下功能:

1) 使用变量访问web域中存储的对象 ${user }

2) 访问javabean的属性 ${user.address.city }

3) 执行基本的逻辑运算

4) 直接使用隐式对象

5) 调用 el 函数

  1. el 表达式用在哪里

1) 在 jsp 页面直接输出数据

2) 在标签中使用el直接为属性赋值

  1. el 表达式获取数据

在jsp页面使用el表达式可以轻松地获得web域中的对象

并对 javabean 、 数组、 list 、 map 进行取值

  1. 需要对 web 域中的 list 和map 集合进行迭代就需要结合 jstl 迭代标签

Jstl入门

JSTL是sun公司开发的一套标签库

使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码

在页面中使用JSTL标签需完成以下2个步骤:

1) 导入jstl.jar和standerd.jar这两个JSTL的jar文件。

2) 在JSP页面中使用<%@ taglib uri=“” prifix=“” %>元素导入标签库。

最常用的 jstl 标签为 forEach 和 if 标签

<c:foreach var=”” items=””>

<c:if test=””>

  1. el表达式可以进行逻辑运算

  2. el表达式中的保留关键字

二、 el 中的11 个隐式对象
隐含对象名称

描 述

pageContext

对应于JSP页面中的pageContext对象

pageScope

代表page域中用于保存属性的Map对象

requestScope

代表request域中用于保存属性的Map对象

sessionScope

代表session域中用于保存属性的Map对象

applicationScope

代表application域中用于保存属性的Map对象

param

表示一个保存了所有请求参数的Map对象

paramValues

表示一个保存了所有请求参数的Map对象,它对于某个请求参数,返回的是一个string[]

header

表示一个保存了所有http请求头字段的Map对象

headerValues

同上,返回string[]数组。注意:如果头里面有“-” ,例Accept-Encoding,则要headerValues[“Accept-Encoding”]

cookie

表示一个保存了所有cookie的Map对象

initParam

表示一个保存了所有web应用初始化参数的map对象

隐式对象的具体用途

  1. pageContext

获得servlet上下文路径 (web应用名称)

${pageContext.request.contextPath }

  1. pageScope、requestScope、sessionScope、applicationScope

准确地获得四个域中的对象,用于取值

  1. param、paramValues

获得请求参数,一般用于做表单的回显

  1. header、headerValues

获得请求消息头

  1. cookie

获得浏览器发送的cookie

Cookie也是map集合,key是cookie的name value是对应的cookie对象

  1. initParam

获得web 初始化参数

el表达式是什么?
sun制订的一种用于计算的一种规则,早期只能用于给标签的属性赋值,现在也可以直接输出。
) 第一种: 访问bean的属性
a. ${user.name}:
jsp引擎会依次从pageContext、request、session、application查找绑订名为“user” 的对象,如果找到了,就不再向下查找,否则,继续向下查找。 找到后,调用该对象的getName(),并输出其值;找不到,则输出""(空)。
b. 或者也可以使用${user["name"]},效果相同
"name" 表示字符串
c. 或者是${user[propname]},注意propname没有引号,表示变量
d. 此外,[ ]里面还可以是0,1..这样的下标,作用是输出数组里的元素值。
e. 可以使用pageScope,requestScope,sessionScope,applicationScope四个关键字指定查找的范围。
f. ${requestScope.user.name}只到request中去找,不再依次到4个范围查找了
第二种: 获得请求参数值
a. ${param.username}
等价于 request.getParameter("username");

b. ${paramValues.interest}
等价于request.getParameterValues("interest");
第三种: 计算一个表达式,将结果作为标签的属性值或者直接输出
a. 算术运算
“+” , “-” , “*” , “/” , “%” , 但是要注意,“+”号不能连接字符串。
b. 关系运算
"==" , "!=" , ">" , "<" ,">=" , "<="
可以使用对应的"eq","nq","lt","gt","le","ge"代替。
c. 逻辑运算
"&&","||","!",
可以使用"and","or","not"代替。
d. empty运算
判断一个字符串是否为空,集合内容是否为空,以及绑订的对象是否存在图片描述


作者: i文Vin
链接:http://www.imooc.com/article/15047
来源:慕课网

asdfel表达式是什么?
sun制订的一种用于计算的一种规则,早期只能用于给标签的属性赋值,现在也可以直接输出。
) 第一种: 访问bean的属性
a. ${user.name}:
jsp引擎会依次从pageContext、request、session、application查找绑订名为“user” 的对象,如果找到了,就不再向下查找,否则,继续向下查找。 找到后,调用该对象的getName(),并输出其值;找不到,则输出""(空)。
b. 或者也可以使用${user["name"]},效果相同
"name" 表示字符串
c. 或者是${user[propname]},注意propname没有引号,表示变量
d. 此外,[ ]里面还可以是0,1..这样的下标,作用是输出数组里的元素值。
e. 可以使用pageScope,requestScope,sessionScope,applicationScope四个关键字指定查找的范围。
f. ${requestScope.user.name}只到request中去找,不再依次到4个范围查找了
第二种: 获得请求参数值
a. ${param.username}
等价于 request.getParameter("username");

b. ${paramValues.interest}
等价于request.getParameterValues("interest");
第三种: 计算一个表达式,将结果作为标签的属性值或者直接输出
a. 算术运算
“+” , “-” , “*” , “/” , “%” , 但是要注意,“+”号不能连接字符串。
b. 关系运算
"==" , "!=" , ">" , "<" ,">=" , "<="
可以使用对应的"eq","nq","lt","gt","le","ge"代替。
c. 逻辑运算
"&&","||","!",
可以使用"and","or","not"代替。
d. empty运算
判断一个字符串是否为空,集合内容是否为空,以及绑订的对象是否存在图片描述


作者: i文Vin
链接:http://www.imooc.com/article/15047
来源:慕课网
原文地址:https://www.cnblogs.com/charles999/p/7110694.html