debian怎么配置静态ip地址
242
2022-10-01
EL表达式&JSTL标签库
EL表达式
1.EL表达式
a) 什么是EL表达式,EL表达式的作用?b)EL表达式搜索域数据的顺序 EL表达式主要是在jsp页面中输出数据。c)EL表达式输出Bean的普通属性,数组属性。List集 合属性,map集合属性d)EL 表达式——运算
1)关系运算2)逻辑运算3)算数运算i.empty运算ii.三元运算iii. “.”点运算和[]中括号运算符
e) EL表达式的11个隐含对象
i.EL获取四个特定域中的属性ii. pageContext对象的使用iii. EL表达式其他隐含对象的使用
2、JSTL标签库(次重点)
f)JSTL标签库的使用步骤g)core核心库使用
i.
1.EL表达式
a) 什么是EL表达式,EL表达式的作用?
EL表达式的全称是:Exressin Language.是表达式语言。 EL表达式的什么作用:EL表达式主要是代替jsp页面中的表达式脚本在js页面中进行数据的输出。 因为E表达式在输出数据的时候,要比jsp的表达式脚本要简洁很多。 演示: 新建模块09_EL_JSTL,add web , 建Tomcat实例,在Web-INF/lib下导入servlet.jar包和jsp.jar包 为模块服务 在web下创建a.jspa.jsp
<%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 12:09 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
EL表达式的格式是:${表达式} E表达式在输出null值的时候,输出的是空串。 jsp表达式脚本输出nul值的时候,输出的是null字符串。
b)EL表达式搜索域数据的顺序 EL表达式主要是在jsp页面中输出数据。
主要是输出域对象中的数据。 当四个域中都有相同的key的数据的时候,EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。b.jsp
<%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 12:28 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
c)EL表达式输出Bean的普通属性,数组属性。List集 合属性,map集合属性
i.需求一输出Person类中普通属性,数组属性。list集合属性和map集合属性。 在scr/com.pojo新建Person类Person
package com.pojo;import java.util.Arrays;import java.util.List;import java.util.Map;public class Person { private String name; private String[] phones; private List
c.jsp
<%@ page import="com.pojo.Person" %><%@ page import="java.util.List" %><%@ page import="java.util.ArrayList" %><%@ page import="java.util.Map" %><%@ page import="java.util.HashMap" %><%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 12:48 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
d)EL 表达式——运算
语法:$运算表达式}, EL表达式支持如下运算符:
1)关系运算
2)逻辑运算
3)算数运算
d.jsp
<%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 01:12 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
i.empty运算
empty运算可以判断一个数据是否为空,如果为空,则输出true,不为空输出false。 以下几种情况为空: 1、值为null值的时候,为空 2、值为空串的时候,为空 3、值是object类型数组,长度为零的时候 4、list集合,元素个数为零 5、map集合,元素个数为零
ii.三元运算
表达式1?表达式2:表达式3 如果表达式1的值为真,返回表达式2的值,如果表达式1的值为假,返回表达式3的值。e.jsp
<%@ page import="java.util.ArrayList" %><%@ page import="java.util.List" %><%@ page import="java.util.Map" %><%@ page import="java.util.HashMap" %><%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 01:21 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
iii. “.”点运算和[]中括号运算符
点运算,可以输出Bean对象中某个属性的值。 []中括号运算,可以输出有序集合中某个元素的值。 并且[]中括号运算,还可以输出map集合中key里含有特殊字符的key的值。f.jsp
<%@ page import="java.util.Map" %><%@ page import="java.util.HashMap" %><%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 01:33 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
e) EL表达式的11个隐含对象
EL表达式中11个隐含对象,是EL表达式中自己定义的,可以直接使用。
i.EL获取四个特定域中的属性
scope.jsp
<%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 02:02 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
ii. pageContext对象的使用
协议:服务器ip:服务器端口:获取工程路径:获取请求方法:获取客户端ip地址:获取会话的id编号:
pageContext.jsp
<%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 02:09 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
iii. EL表达式其他隐含对象的使用
param Map
header Map
cookie Map
initParam Map
other_el_obj.jsp
<%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 02:27 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
2、JSTL标签库(次重点)
【尚硅谷最新版JavaWeb全套教程,java web零基础入门完整版-哔哩哔哩】Standard Tag LibranyISP标准标签库。是一个不断完善的开放源代码的JSP标签库。
EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个jsp页面变得更佳简洁。
JSTL由五个不同功能的标签库组成。
在jsp标签库中使用laglib指令引入标签库
f)JSTL标签库的使用步骤
1、先导入jst标签库的jar包。 下载地址:javascript:void(0) taglibs-standard-impl-1.2.5.jar taglibs-standard-spec-1.2.5.jar 2、第二步,使用tagib指令引入标签库。
<%@ taglib prefix="c" uri="%>
3、配置JSTL标签库配置
g)core核心库使用
i.
作用:set标签可以往域中保存数据
ii.
作用:if 标签用来做if判断
iii.
作用:多路判断,跟switch…case…default 非常接近core.jsp
<%@ taglib prefix="c" uri="%><%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 03:09 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
iv.
作用:遍历输出使用。
1.遍历1到10,输出
2.遍历object数组
3. 遍历Map集合
4.遍历List集合–list中存放Student类,有属性:编号,用户名,密码,年龄,电话信息
在pojo包下Student
package com.pojo;public class Student {// 有属性:编号,用户名,密码,年龄,电话信息 private Integer id; private String username; private String password; private int age; private String phone; public Student() { } public Student(Integer id, String username, String password, int age, String phone) { this.id = id; this.username = username; this.password = password; this.age = age; this.phone = phone; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } @Override public String toString() { return "Student{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", age='" + age + '\'' + ", phone='" + phone + '\'' + '}'; }}
forEach.jsp
<%@ page import="java.util.HashMap" %><%@ page import="java.util.Map" %><%@ page import="java.util.List" %><%@ page import="com.pojo.Student" %><%@ page import="java.util.ArrayList" %><%@ taglib prefix="c" uri="%><%-- Created by IntelliJ IDEA. User: lenovo Date: 2021/8/17 Time: 下午 05:35 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
第${ i }行 |
编号 | 用户名 | 密码 | 年龄 | 电话 | 操作 | |
---|---|---|---|---|---|---|
${stu.id} | ${stu.username} | ${stu.password} | ${stu.age} | ${stu.phone} | 删除/修改 | <%--${status.index} | --%>
varStatus属性所实现的接口
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~