JSP学习之JavaBean用法分析

JSP学习之JavaBean用法分析

什么是JavaBean

JavaBean是指一种用Java语言编写的可重用组件,它是一个类,它具有以下特点:

  • 必须有一个公共的无参构造函数(构造方法)
  • 成员变量必须是私有的,并通过公共的getter/setter方法来访问

JavaBean通常用于表示数据模型,封装了应用程序中的数据,并通过getter/setter方法对外提供访问接口。

JavaBean在JSP中的应用

JavaBean在JSP中的应用主要有两种方式:表达式标记和脚本脚本标记。

表达式标记

在JSP中,可以使用表达式标记${}将JavaBean中的属性值显示在页面上。

例如,假设有一个JavaBean类User

public class User {
    private String name;
    private int age;

    public User() {}

    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

可以在JSP页面中使用${}来显示它的属性值:

<%@page import="com.example.User"%>
<!DOCTYPE html>
<html>
<head>
    <title>显示用户信息</title>
</head>
<body>
    <h1>用户信息</h1>
    <p>姓名:${user.name}</p>
    <p>年龄:${user.age}</p>
</body>
</html>

这里${user.name}${user.age}就是使用表达式标记来显示JavaBean的属性值,其中user是在JSP页面中要传递的JavaBean对象名。

脚本脚本标记

脚本脚本标记<jsp:useBean><jsp:setProperty>可以用来在JSP页面中通过JavaBean来处理数据。

<jsp:useBean>标记用于在JSP页面中实例化一个JavaBean对象:

<%@page import="com.example.User"%>
<!DOCTYPE html>
<html>
<head>
    <title>JavaBean示例</title>
</head>
<body>
    <jsp:useBean id="user" class="com.example.User" scope="page" />
    <jsp:setProperty name="user" property="name" value="张三" />
    <jsp:setProperty name="user" property="age" value="26" />

    <h1>用户信息</h1>
    <p>姓名:${user.name}</p>
    <p>年龄:${user.age}</p>
</body>
</html>

这里<jsp:useBean>标记用于实例化一个User对象,id属性是JSP页面中要传递的JavaBean对象名,class属性是JavaBean的类名,scope属性表示JavaBean的范围(这里是页面范围,即只在当前页面有效)。

<jsp:setProperty>标记用于设置JavaBean的属性值,其中name属性是JavaBean对象的名字,property属性是要设置的属性名,value属性是要设置的属性值。

示例中,${user.name}${user.age}同样是用表达式标记来显示JavaBean的属性值。

注意,如果JavaBean中没有公共的无参构造函数,则在使用<jsp:useBean>标记时需要指定构造函数参数:

<jsp:useBean id="user" class="com.example.User" scope="page">
    <jsp:attribute name="name" value="张三" />
    <jsp:attribute name="age" value="26" />
</jsp:useBean>

总结

JavaBean是一种重要的可重用组件,可以用于封装数据模型或业务逻辑。在JSP中,可以使用表达式标记和脚本脚本标记来操作JavaBean,表达式标记用于显示JavaBean的属性值,脚本脚本标记用于实例化JavaBean对象和设置JavaBean的属性值。在实际开发中,我们可以灵活运用JavaBean来提高代码的复用性和可维护性。

示例:

示例1:使用表达式标记展示JavaBean属性

测试代码:

public class Product {
    private String name;
    private double price;

    // 公共无参构造函数
    public Product() {}

    // 重载构造函数
    public Product(String name, double price) {
        this.name = name;
        this.price = price;
    }

    // getter/setter方法
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%-- 获取Product对象 --%>
<jsp:useBean id="product" class="com.example.Product" scope="page" />
<jsp:setProperty name="product" property="name" value="iPhone XR" />
<jsp:setProperty name="product" property="price" value="6099.00" />

<%-- 使用表达式标记展示属性值 --%>
<h1>${product.name}</h1>
<p>价格:${product.price}</p>

输出结果:

iPhone XR
价格:6099.0

示例2:使用脚本脚本标记实例化JavaBean对象并设置属性

测试代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%-- 使用脚本脚本标记实例化对象 --%>
<jsp:useBean id="user" class="com.example.User" scope="page">
    <jsp:attribute name="name" value="张三" />
    <jsp:attribute name="age" value="26" />
</jsp:useBean>

<%-- 使用表达式标记展示属性值 --%>
<h1>${user.name}</h1>
<p>年龄:${user.age}</p>

输出结果:

张三
年龄:26

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP学习之JavaBean用法分析 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java生成exe可执行文件

    生成exe可执行文件是将Java应用程序打包成一个独立的可执行文件的过程,使得它可以在没有安装JRE的机器上运行。本文将介绍如何使用Launch4j和Inno Setup两款免费工具生成exe可执行文件。 准备工作 生成exe可执行文件需要以下工具: JDK:Java开发环境,用来编译Java程序。 Launch4j:一个免费的可执行文件包装工具,用来将Ja…

    Java 2023年5月23日
    00
  • idea添加数据库图文教程

    接下来我将为您讲解”IDEA添加数据库图文教程”的完整攻略。本攻略分为以下几个步骤: 下载安装MySQL 在IDEA中打开Database工具窗口 添加MySQL驱动程序 添加MySQL数据源 测试连接 打开数据表 示例操作 下面将分别进行详细讲解。 第一步:下载安装MySQL MySQL是一种流行的关系型数据库,您需要将其下载并安装到您的计算机上。您可以在…

    Java 2023年5月20日
    00
  • Spring5新特性之Reactive响应式编程

    Spring5新特性之Reactive响应式编程攻略 什么是Reactive响应式编程 传统的编程模型是同步阻塞的,即当程序调用一个方法时,调用者会一直等待该方法执行完毕并返回结果后,才能继续执行后续的操作。这种模型的问题在于,当方法执行时间过长或者被调用的方法处于阻塞状态时,整个应用程序都会处于等待状态,不能及时响应用户的请求,影响了程序的运行效率以及用户…

    Java 2023年5月19日
    00
  • Java实现获得MySQL数据库中所有表的记录总数可行方法

    下面就来详细讲解“Java实现获得MySQL数据库中所有表的记录总数可行方法”的完整攻略。 1. 方案介绍 在 Java 中,我们可以使用 JDBC(Java Database Connectivity)API 来访问关系型数据库,其中包括 MySQL 数据库。我们可以通过执行 SQL 语句获取 MySQL 数据库中所有表的记录总数,主要有以下两种方法: 1…

    Java 2023年5月20日
    00
  • 什么是Spring Boot

    Spring Boot是一个用于创建独立且基于Spring的生产级别应用程序的框架。它提供了诸如自动配置、嵌入式Web服务器以及依赖项管理等功能,因此使得Spring应用程序的开发变得更加快捷、容易。 为什么要使用Spring Boot 快速构建Spring应用:Spring Boot具有自动配置的能力,生态圈也非常丰富,因此可以极大地提高Spring应用的…

    Java 2023年5月15日
    00
  • springboot使用JdbcTemplate完成对数据库的增删改查功能

    下面是详细的攻略: 1. 引入依赖 首先在pom.xml文件中添加JdbcTemplate的依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifact…

    Java 2023年5月20日
    00
  • JAVA基础类库之String类,StringBuffer类和StringBuilder类

    JAVA基础类库之String类,StringBuffer类和StringBuilder类攻略 在JAVA中,String、StringBuffer、StringBuilder这三种类都是用来处理字符串的。这篇攻略将详细说明它们的区别和用法。 String类 String类是不可变的,它代表一个字符串序列(字符数组),一旦创建,就不能再对其进行修改。因为不可…

    Java 2023年5月27日
    00
  • 全网最完整的Redis新手入门指导教程

    全网最完整的Redis新手入门指导教程 Redis是一个开源、高性能、非关系型的数据结构存储系统,常用于缓存、消息传递、会话管理等场景。本篇文章将为初学者提供全面的Redis入门指导教程。 安装和启动Redis 1. 安装Redis 官网下载Redis安装包,解压到指定目录。Linux系统可以通过包管理器进行安装。 2. 启动Redis服务 在终端中启动Re…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部