EL表达式
什么是EL表达式? 作用?
全称是Expression Langue 是表达式语言
EL表达式的作用主要是替代jsp页面中的表达式脚本在jsp页面中方进行输出,因为EL表达式在输出数据的时候,要比jsp的表达式脚本简洁得多。
示例
<body>
<%
request.setAttribute("key","值");
%>
表达式脚本输出key的值是:
<%=request.getAttribute("key1")==null?"":request.getAttribute("key1")%><br>
EL表达式输出key的值是${key1};
</body>
EL表达式的格式是:${表达式}
EL表达式输出null值得时候,输出的是空串
jsp表达式脚本输出null值的时候,输出的是null字符串
EL表达式搜索域数据的顺序
EL表达式主要是在jsp页面中输出数据
主要是输出与对象中的数据
顺序: pageContext、request、session、application 作用范围从小到大
EL表达式的11个隐含对象
是EL表达式自己定义的 可以直接使用
变量 | 类型 ----- 作用 |
---|---|
pageContext | PageContextImlp 获取jsp中的九大内置对象 |
pageScope | Map<String,Object> 获取pagecontext域中的数据 |
requestScope | Map<String,Object> 获取Request域中的数据 |
sessionScope | Map<String,Object> 获取session域中的数据 |
applicationScope | Map<String,Object> 获取ServletContext域中的数据 |
param | Map<String,String>获取请求参数的值 |
paramValues | Map<String,String[]>它也可以获取请求参数的值,获取多个值的时候使用 |
header | Map<String,String> 获取请求头信息 |
headerValues | Map<String,String>获取多个请求头信息 |
cookie | Map<String,Cookie>获取当前请求的cookie信息 |
initParm | Map<String,String>获取在web.xml中配置的上下文参数 |
pageContext对象的使用
1、协议 ${pageContext.request.scheme}
2、服务器ip ${pageContext.request.serverName}
3、服务器端口 ${pageContext.request.serverPort}
4、获取工程路径
p
a
g
e
C
o
n
t
e
x
t
.
r
e
q
u
e
s
t
.
c
o
n
t
e
x
t
P
a
t
h
5
、
获
取
请
求
方
法
{pageContext.request.contextPath} 5、获取请求方法
pageContext.request.contextPath5、获取请求方法{pageContext.request.method}
6、获取客户端ip地址 ${pageContext.request.remoteHost}
7、获取会话的id编号 ${pageContext.session.id}
JSTL标签库
使用步骤
1、先导入jspt标签库的jar包(放在web-inf/lib)
2、使用taglib指令导入标签库
core核心库使用
- <c:set/> 作用:set标签可以往域中保存数据
- 保存: 域对象.serAttribute(key,value)
- scope 保存到哪个域
- var设置 key是多少
- value是多少
- <c:if> test属性表示判断的条件(使用EL表达式输出)
<c:choose> <c:when> <c:otherwise>标签
choose标签开始选择判断
when表示每一种判断情况
test表示判断情况的值
otherwise表示其他剩余情况 注意点
1、标签里面不能使用html注释 要使用jsp注释
2、when标签的父标签一定要是when标签
作用:多路判断
<c:forEach>
<c:forEach begin=“1” end=“10” var=“i”>
遍历1-10,输出
begin属性设置开始索引
end属性设置结束的索引
var 表示循环的遍历