JSP JavaBean

本文详细介绍JSP中使用JavaBean的方式,包括如何创建、设置和获取JavaBean属性,以及如何利用JavaBean处理表单数据。文章通过实例展示了JavaBean在JSP页面中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在JSP中可以使用许多不同的方式生成动态内容.

选择什么方式取决于项目大小和复杂程度.

  • 直接调用Java代码:将所用代码放到JSP页面中
  • 间接的调用Java代码:插入需要调用类的方法
  • 使用JavaBean实用工具类:使用<jsp:useBean><jsp:getProperty><jsp:setProperty>
  • 使用MVC构架:Servlet处理请求,查找数据,将数据储存在JavaBean,请求转发到JSP显示
  • 使用JSP表达式语言:EL表达式,简写语法访问并输出对象属性。与JavaBean、MVC一起使用
  • 使用定制标签:自定义标签,用类XML标签调用标签处理器

 

简述

JavaBean:遵循某些简单约定的常规Java类

规则:

  1. 通过getXxx/setXxx访问成员变量
  2. 拥有一个无参构造函数
  3. 不含public的成员变量
  4. 必定为public类

 

优点:

  • 不需要Java代码
  • 对象共享更简单
  • 请求参数与对象属性之间方便对应起来

 

使用步骤:

  1. page指令导入类:<% page import="packageName.className">
  2. <jsp:useBean/>创建实例:<jsp:useBean id="beanName" class="beanClass" scope="page"/>
  • id:用于区分实例
  • class:具体的JavaBean类
  • scope:作用范围,默认为page
  • type:类型
  1. <jsp:setProperty/>:设置属性<jsp:setProperty name="idName" property="propertyName" value="propertyValue"/>
  • name:已创建实例的对象名
  • property:属性名
  • value:属性值
  1. <jsp:getProperty/>:获得属性<jsp:getPropety name="idName" property="propertyName"/>
  • name:已创建实例的对象名
  • property:属性名

注意:

  • 当想使用一个已经创建的对象,可以将class属性换成type
  • JavaBean区分大小写,usebean和useBean是不同的
  • 属性值需要单引号或双引号
  • 标签结束为/>,不是>

 

利用表单

  1. JavaBean接收表单参数
  2. 表单传参

 

  • 指定:<jsp:setProperty name="beanName" property="propertyName" param="paramName"/>
  • 不指定:<jsp:setProperty name="beanName" property="*"/>:接受对应参数名

注意:JavaBean会自动根据属性进行类型转换

 

实例:

UserBean.java

ackage jsplearn.w9;

public class UserBean {
    private String username;
    private String password;
    private String email;

    public UserBean() {
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public String getEmail() {
        return email;
    }

}

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
Please input:<br>
<form action="display.jsp">
    UserName:<input type="text" name="username"><br>
    Password:<input type="password" name="password"><br>
    Email:<input type="text" name="email"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

display.jsp

<%--
  Created by IntelliJ IDEA.
  User: max
  Date: 2018/11/6
  Time: 13:36
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="user" class="jsplearn.w9.UserBean" scope="session"/>
<jsp:setProperty name="user" property="*"/>

<html>
<head>
    <title>display</title>
</head>
<body>
UserName:<jsp:getProperty name="user" property="username"/><br>
Password:<jsp:getProperty name="user" property="password"/><br>
Email:<jsp:getProperty name="user" property="email"/><br>
</body>
</html>

运行结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值