第7章EL表达式和JSTL
7.1初始JavaBean
7.1.1什么是JavaBean
JavaBean是java开发语言中可以重复使用的组件,本质是一个Java类,作用是封装数据。
写JavaBean需要满足的规范如下:
1.它要提供公共的无参数的构造方法
2.它要被被public修饰
3…要定义私有属性
4.要给定义的私有属性提供公共的set方法或get方法
5.要实现book接口
public class Book {
private String id;
private String name;
public Book(){};
public void set----
public String get---
}
7.1.2访问JavaBean的属性
类的成员变量和属性的关系:
1.再普通的Java来中类的属性就是成员变量。
2.在JavaBean里面成员变量和属性是不同的
3.在JavaBean 里面什么是成员变量呢? 比如:private String id; 那么id就是成员变量
4.在JavaBean 里面什么是属性?就是get或者set后面的字段名称(字段名称的首字母小写),就是属性。
public void setId(String id){
this.sid = id;
}
如下:
public class Student {
//一下就是javaBean的四个成员变量
private String sid;//目的就是为了接收外界传递过来的值
private String name;
public Student() {
}
//属性由get或者set方法后面的字段首字母小写就是属性,属性就是id
public String getId() {
return sid;
}
public void setId(String id) {//写方法,给student写一个id
this.sid = id;
}
//属性就是name
public void setName(String name) {
this.name = name;
}
}
上面的Student的属性就是id ,name。成员变量就是sid,name.
7.1.3BeanUtils 工具
BeanUtils 工具是由apache软件基金会提供的一套封装数据到JavaBean的工具类,使用简单方便,
BeanUtils是第三方的工具(插件),所以需要导入jar包。
常用的api:
1.向javaBean的属性设置值:
setProperty(javaBean对象,javaBean的属性,javaBean属性的值);
2.获取javaBean属性的值:
getProperty(javaBean对象,javaBean的属性);
3.向javaBean的属性设置值:
populate(javaBean对象,map对象);
注意:map的对象的key(就是javaBean属性名称),必须和javaBean的属性名一致,才能给javaBean的属性设置值。
提交的表单数据想封装到javaBean对象里面,要求表单name属性的值,必须和javaBean属性名称一一对应。
EL表达式
7.2.1初识 EL 表达式
EL在开发中,通常是用来获取域对象中保存的值,基本语法:${域对象的名称}。
比如说: request.setAttribute(“key”,“123”): ${key},获取的值就是123
如果域对象的名称写错了,使用el表达式获取值,获取的是"".
**<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/param.jsp " method="get">
num1:<input type="text" name="num1" /><br/>
num2:<input type="text" name="num" /><br/>
num3:<input type="text" name="num" /><br/>
<input type="submit" value="提交" /> <input type="reset" value="重填" />
<hr/>
num1:${param.num1 }<br/>
num2:${paramValues.num[0] }<br/>
num3:${paramValues.num[1] }
<from/>
</body>
</html>**
7**.2.2EL中的标识符**
在el书写过程中,会用一些符号来标记变量、函数名等,这些符号称之为标识符。
书写规范:
1.不能以数字开头
2.不能包含el中的关键字:and , or 等
3.不能使用el表达式的隐式对象。
4.不能包含特殊符号,比如正斜杠等
7.2.4EL 中的变量
基本格式:${域对象的名称},这个域对象的名称可以理解为就是el中的变量,
那这个变量就不需要定义了,可以直接使用。
7.2.4EL 中的常量
1.布尔常量:true或false
2.数字常量:整型、浮点常量,使用方式和java差不多
3.字符串常量:使用方式和java差不多,比如:${"el的字符串常量"}
4.Null常量:${null}
7.2.5EL中的运算符
1.点运算符:获取域对象中属性的值。
比如: ${person.name }
2.方括号运算符:在域对象里,有的属性包含特殊字符,所以用方括号的方式来获取值
3.算术运算符:+ — * /
4.比较运算符: > < >= <= == !=
比如
2020080605044