JAVAWed第七章 EL表达式和JSTL

本文介绍了JavaBean的概念,包括其定义、成员变量和属性的区别,以及如何使用BeanUtils工具进行数据封装。接着详细讲解了EL表达式的基本用法,包括变量、常量、运算符以及隐式对象,并举例说明了各种应用场景。最后,探讨了JSTL的核心标签库,如<c:out>、<c:if>、<c:choose>、<c:forEach>等,以及它们在页面渲染和逻辑控制中的作用。
摘要由CSDN通过智能技术生成

EL表达式和JSTL标签库,访问JavaBean的属性,JSTL
1.初识JavaBean
1.1 什么是javaBean:
它是java开发中常用的组件,其实就是一个java类,它的作用就是封装数据。
书写JavaBean需要满足五个规范:

1.这个java类,被public修饰
2.这个java类要提供公共的无参数的构造方法
3.要提供私有的属性
4.要给私有的属性提供公共的set或者get方法
5.要实现Serializable接口
比如:
public class Book implements Serializable{undefined
private String id;
private String name;
public Book(){};
public void set----
public String get—
}
1.2 访问JavaBean的属性:
类的成员变量和属性的一个关系:
在普通的java类里面,成员变量可以说成就是属性。
在JavaBean里面,成员变量和属性就有了区别。
在JavaBean 里面什么是成员变量呢? 比如:private String id; 那么id就是成员变量
在JavaBean 里面什么是属性?就是get或者set后面的字段名称(字段名称的首字母小写),就是属性。
比如:

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.

1.3 BeanUtils 工具
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属性名称一一对应。
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.

1.3 BeanUtils 工具
BeanUtils 工具是由apache软件基金会提供的一套封装数据到JavaBean的工具类,使用简单方便,
BeanUtils是第三方的工具(插件),所以需要导入jar包。
常用的api:
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.

2.EL 表达式
1.1 初识 EL 表达式
EL在开发中,通常是用来获取域对象中保存的值,基本语法:${域对象的名称}。
比如说: request.setAttribute(“key”,“value123”): k e y , 获 取 的 值 就 是 v a l u e 123 如 果 域 对 象 的 名 称 写 错 了 , 使 用 e l 表 达 式 获 取 值 , 获 取 的 是 " " . 1.2 E L 表 达 式 中 的 标 识 符 在 e l 书 写 过 程 中 , 会 用 一 些 符 号 来 标 记 变 量 、 函 数 名 等 , 这 些 符 号 称 之 为 标 识 符 。 书 写 规 范 : 1. 不 能 以 数 字 开 头 2. 不 能 包 含 e l 中 的 关 键 字 : a n d , o r 等 3. 不 能 使 用 e l 表 达 式 的 隐 式 对 象 。 4. 不 能 包 含 特 殊 符 号 , 比 如 正 斜 杠 等 1.3 E L 中 的 变 量 基 本 格 式 : {key},获取的值就是value123 如果域对象的名称写错了,使用el表达式获取值,获取的是"". 1.2 EL表达式中的标识符 在el书写过程中,会用一些符号来标记变量、函数名等,这些符号称之为标识符。 书写规范: 1.不能以数字开头 2.不能包含el中的关键字:and , or 等 3.不能使用el表达式的隐式对象。 4.不能包含特殊符号,比如正斜杠等 1.3 EL中的变量 基本格式:key,获取的值就是value123如果域对象的名称写错了,使用el表达式获取值,获取的是"".1.2EL表达式中的标识符在el书写过程中,会用一些符号来标记变量、函数名等,这些符号称之为标识符。书写规范:1.不能以数字开头2.不能包含el中的关键字:and,or等3.不能使用el表达式的隐式对象。4.不能包含特殊符号,比如正斜杠等1.3EL中的变量基本格式:{域对象的名称},这个域对象的名称可以理解为就是el中的变量,
那这个变量就不需要定义了,可以直接使用。

1.4 EL 中的常量
1.布尔常量:true或false
2.数字常量:整型、浮点常量,使用方式和java差不多
3.字符串常量:使用方式和java差不多,比如: " e l 的 字 符 串 常 量 " 4. N u l l 常 量 : {"el的字符串常量"} 4.Null常量: "el"4.Null{null}

1.5 EL中的运算符
1.点运算符:获取域对象中属性的值。
比如: ${person.name }
2.方括号运算符:在域对象里,有的属性包含特殊字符,所以用方括号的方式来获取值
比如:<%
Map<String,String> map= new HashMap<String,String>();
map.put(“my-name”,“map的值”);
request.setAttribute(“user”,map);
%>
${user[“my-name”] }
3.算术运算符:+ — * /
4.比较运算符: > < >= <= == !=
5.逻辑运算符: &&(and) ||(or) !(not)
6.empty 运算符:用来判断域对象中的值是否存在,不存在返回为true,否则返回的结果是false.
7.三目运算符:参照java的用法。

1.6 EL 隐式对象
1.pageContext对象:为了获取jsp中的隐式对象。
比如:
获取项目的路径: 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 < b r / > 获 取 请 求 的 U R L : {pageContext.request.contextPath }<br/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值