javaWeb第七章 Day9天2020080605018

文章目录EL表达式和JSTL学习目标一、初识JavaBean什么是javaBean?访问javaBean的属性BeanUtils工具二、初识ELEL概述EL中的变量,常量、标识符、保留字等EL中的运算符、隐式对象、三、隐式对象EL中web相关对象、param和Values对象、Cookie对象四、总结1.1什么是javaBean?1.2 访问javaBean的属性:1.3BeanUtils 工具二、初识EL2.1E概述:2.2EL中的变量:2.3EL的标识符2.3EL的保留字:2.4EL中的运算符2.5EL
摘要由CSDN通过智能技术生成

EL表达式和JSTL

学习目标

一、初识JavaBean

什么是javaBean?

访问javaBean的属性

BeanUtils工具

二、初识EL

EL概述

EL中的变量,常量、标识符、保留字等

EL中的运算符、隐式对象、

三、隐式对象

EL中web相关对象、

param和Values对象、

Cookie对象

四、总结


1.1什么是javaBean?

JavaBean是公共Java类,但是为了编辑工具识别
需要满足至少三个条件
1.有一个public默认构造器(例如无参构造器)
2.属性使用public 的get,set方法访问,也就是说设置成private同时get,set方法与属性名的大小也需要对应。例如属性name,get方法就要写成,public String getName(){},N大写。
3. 需要序列化。这个是框架,工具跨平台反映状态必须的。

1.2 访问javaBean的属性:

在讲解面向对象时,经常会使用类的属性,类的属性指的是类的成员变量。在JavaBean中同样也有属性,但是它和成员变量不是一一个概念,它是以方法定义的形式出现的,这些方法必须遵循一定的命名规范。例如,在JavaBean中包含-一个String类型的属性name,那么在JavaBean中必须至少包含getName()和setName()方法中的一个,这两个方法的声明如下所示。
代码如下(示例):

public String getName(){
   }
public void setName (String name) {
    . . . }

需要注意的是, 对于JavaBean属性的命名方式有一个例外情况。如果属性的类型为boolean,它的命名方式应该使用is/set,而不是get/set。 例如,有-一个boolean类型的属性maried,该属性所对应的方法声明如下所示。

public boolean isMarried(){
   }
public void setMarried (boolean married){
   }

从上面的代码可以看出,married 属性的setter方法命名方式没有变化,而getter方法变成了isMarried()方法。当然,如果一定要写成getMarried()也是可以的,只不过isarried()更符合命名规范。
通过上面的学习,读者对JavaBean 组件有了一个初步的了解,为了更加深刻地理解JavaBean 属性的定义,接下来通过具体的案例来实现一个JavaBean程序。
在cn.itcast.chapter07.javabean包下创建Student类,代码如下图所示:
在这里插入图片描述
在该文件中定义了一个Student类,该类有5个属性,分别为age、married、name、sid和info。其中,age和married属性是可读属性,name只写属性,sid是只读属性,它们在类中都有命名相同的成员变量,而info是只读属性,但它没有命名相同的成员变量。

1.3BeanUtils 工具

BeanUtils 类的常用方法及其功能的描述,掌握这些方法对灵活运用BeanUtis工具尤为重要。为了让读者熟悉BeanUtils 类的常用方法,接下来通过一个案例来演示使用setProperty()、getProperty()和 populate()方法访问JavaBean的属性。
(1) 在项目的lib 目录中添加已下载的commons-beanutils- 1.9.2.jar 和Logging的JAR包commons-logging-1.2.jar,并将这两个JAR包发布到类路径中
在这里插入图片描述
(2) 在项目的src 目录下创建一个名为cn.itcast.chapter06.beanutils 的包,在包下创建Person类,Person 类中定义了name和age两个属性,并提供了对应的getter方法和setter方法供外界访问这两个属性。

在这里插入图片描述
(3) 在cn.itcast.chapter09. beanutils 包下创建一个BeanUtilsDemo 类, 该类中使用了BeanUtils类的常用方法,具体代码如文件7-4所示。
BeanUtilsDemo.java

在这里插入图片描述

二、初识EL

2.1E概述:

①Expression Language表达式语言
②是一种在JSP页面获取数据的简单方式(只能获取数据,不能设置数据)
③在JSP2.0开始引入概念
${表达式}

需要注意的是,“${表达式}”中的表达式必须符合EL语法要求。关于EL语法的相关知识,将在下面的小节进行详细讲解。
为了证明EL表达式可以简化JSP页面,接下来通过一个案例来对比使用Java代码与EL表达式获取信息的不同。
首先,
在项目的src目录下创建包cn.itcast chapter07.servlet,在包中创建一个用于 存储用户名和密码的类MyServlet,代码如下图:
在这里插入图片描述

然后,在WebContent目录下编写一个名为myjisp的JSP文件,使用该文件来输出MyServlet所存储的信息,代码如下:
在这里插入图片描述

2.2EL中的变量:

使用EL内置对象,从指定域中获取数据,提高了查找效率
代码如下(示例):

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值