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,他就不输出了。
- EL 全名为Expression Language。它是一种数据访问语言
el 表达式
- EL 能实现如下功能:
1) 使用变量访问web域中存储的对象 ${user }
2) 访问javabean的属性 ${user.address.city }
3) 执行基本的逻辑运算
4) 直接使用隐式对象
5) 调用 el 函数
- el 表达式用在哪里
1) 在 jsp 页面直接输出数据
2) 在标签中使用el直接为属性赋值
- el 表达式获取数据
在jsp页面使用el表达式可以轻松地获得web域中的对象
并对 javabean 、 数组、 list 、 map 进行取值
- 需要对 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=””>
-
el表达式可以进行逻辑运算
- 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对象
隐式对象的具体用途
- pageContext
获得servlet上下文路径 (web应用名称)
${pageContext.request.contextPath }
- pageScope、requestScope、sessionScope、applicationScope
准确地获得四个域中的对象,用于取值
- param、paramValues
获得请求参数,一般用于做表单的回显
- header、headerValues
获得请求消息头
- cookie
获得浏览器发送的cookie
Cookie也是map集合,key是cookie的name value是对应的cookie对象
- 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
来源:慕课网