简单快速了解EL与JSTL

“人最大的对手,往往不是别人,而是自己的懒惰。任何时候都要靠本事吃饭。你必须拼尽全力,才有资格说自己的运气不好。”
你好,我是梦阳辰!期待与你相遇!

01.EL表达式

学习目的:jsp页面尽量不要写java代码,实现前后端分离。可以使用EL和JSTL替代java代码。

概念:Expression Language表达式语言。

作用:替换和简化jsp页面中的java代码的编写。

语法:

${表达式}

${3>4}  
结果为:true

jsp默认支持EL表达式,可以在首行配置信息中忽略EL表达式。

1.设道jsp中page指今中:isELIgnored="true”忽略当前jsp页面中所有的el表达式。

2.\${表达式}:忽略当前这个el表达式。

1.EL运算

1.运算

算数运算符:+ - * /(div) %(mod)
比较运算符:>  <   >=  <=  ==  !=
逻辑运算符:&&(and) ||(or)  !(not)
空运算符:empty
判断字符串,集合,数组对象是否为null并且长度为0

取反:not empty
${empty list}

2.EL获取值

JSP主要开发任务:
将域对象中数据读取并写入到响应体。

在JSP文件上使用Java命令,将域对象中数据读取并写入到相应开发步骤。

<%
request.getAttribute(“key”);
%>

el表达式获取值。

1.el表达式只能从域对象中获取值

2.语法︰

1.${域名称.键名}∶从指定域中获取指定键的值

域名称:

1.pageScope ---> pageContext
2.requestScope -->request
3.sessionScope --->session
4.applicationScope --->application(servletContext)

在request域中存储了name=张三

获取:${requestScope.name}
没有该值会输出空字符串

域名称可以省略。
因此可以写成这样:

${键名}

表示依次从最小的域中查找是否有该键对应的值,直到找到为止。

3.获取对象,list集合,map集合的值。

对象的值:

通过对象的属性来获取
${user.name}
值为list集合:
${键名[0]}
值为map
${键名.map的键名}

${键名["map的键名"]}

3.El隐式对象
类似于jsp的内置对象。
el表达式中有11个隐式对象。

pageContext

1.获取jsp其他八个内置对象。
${pageContext.request}

${pageContext.request.contextPath}//在jsp动态获取虚拟目录

02.JSTL标签

1.概念:JavaServer Pages Tag Library JSP标准标签库。
是由Apache组织提供的开源的免费的jsp标签。

2.作用:用户简化和替换jsp页面上的java代码。

使用步骤:
1.导入jstl相关jar包。

2.引入标签库:taglib指令:

<% taglib %>

使用标签。

3.常用的JSTL标签。

1.if 
2.choose(相当于switch)
3.foreach

属性:

test 必须属性,接受boolean表达式。

如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容

—般情况下, test属性值会结合el表达式一起使用

注意∶

c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签

在这里插入图片描述

在这里插入图片描述
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>

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>

练习:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值