01.EL表达式
学习目的:jsp页面尽量不要写java代码,实现前后端分离。可以使用EL和JSTL替代java代码。
概念:Expression Language表达式语言。
作用:替换和简化jsp页面中的java代码的编写。
语法:
${表达式} ${3>4} 结果为:true 1234
jsp默认支持EL表达式,可以在首行配置信息中忽略EL表达式。
1.设道jsp中page指令中:isELIgnored="true”忽略当前jsp页面中所有的el表达式。
2.\${表达式}:忽略当前这个el表达式。
1.EL运算
1.运算
算数运算符:+ - * /(div) %(mod) 1
比较运算符:> < >= <= == != 1
逻辑运算符:&&(and) ||(or) !(not) 1
空运算符:empty 判断字符串,集合,数组对象是否为null并且长度为0 取反:not empty ${empty list} 12345
2.EL获取值
JSP主要开发任务:
将域对象中数据读取并写入到响应体。
在JSP文件上使用Java命令,将域对象中数据读取并写入到相应开发步骤。
<%
request.getAttribute(“key”);
%>
el表达式获取值。
1.el表达式只能从域对象中获取值
2.语法︰
1.${域名称.键名}∶从指定域中获取指定键的值 1
域名称:
1.pageScope ---> pageContext 2.requestScope -->request 3.sessionScope --->session 4.applicationScope --->application(servletContext) 1234
在request域中存储了name=张三
获取:${requestScope.name} 没有该值会输出空字符串 12
域名称可以省略。
因此可以写成这样:
${键名} 1
表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
3.获取对象,list集合,map集合的值。
对象的值: 通过对象的属性来获取 ${user.name} 1234
值为list集合: ${键名} 12
值为map ${键名.map的键名} ${键名["map的键名"]} 1234
3.El隐式对象
类似于jsp的内置对象。
el表达式中有11个隐式对象。
pageContext 1.获取jsp其他八个内置对象。 ${pageContext.request} ${pageContext.request.contextPath}//在jsp动态获取虚拟目录 123456
02.JSTL标签
1.概念:JavaServer Pages Tag Library JSP标准标签库。
是由Apache组织提供的开源的免费的jsp标签。
2.作用:用户简化和替换jsp页面上的java代码。
使用步骤:
1.导入jstl相关jar包。
2.引入标签库:taglib指令:
<% taglib %> 1
使用标签。
3.常用的JSTL标签。
1.if 2.choose(相当于switch) 3.foreach 123
属性:
test 必须属性,接受boolean表达式。
如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
—般情况下, test属性值会结合el表达式一起使用
注意∶
c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签 1
2.choose相当于java的switch语句。
3.foreach:相当于java的for循环
1.完成重复的操作。
属性:
begin:开始值。
end:结束值。
var:临时变量。
step:步长。
varStatus:循环状态对象。
index:容器中元素的索引,从0开始。
count:循环次数,从1开始。
<c:forEach begin=“1” end="10" var=“i" step="2" varStatus="s"> ${i}<h3>${s.index}<h3> <h4>${s.count}</h4><br> </c:forEach> 123
2.遍历容器
for(User user:list){
}
属性:
items:容器对象。
var:容器中元素的临时变量。
varStatus:循环状态对象。
index:容器中元素的索引,从0开始。
count:循环次数,从1开始。
<c:forEach item="${list}" var="str" varStatus="s"> ${s.index} ${s.count} ${str}<br> </c:forEach> 1234
练习:
本文【el表达式隐含内置对象_为什么el表达式显示不了数据】由作者: 自旋锁 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4124.html