JavaBean配置

本文介绍了JavaBean在Web开发中的应用,强调了将JSP中的Java代码分离到Java类中的重要性,以提高代码的可维护性。通过创建JavaBean实例、使用<jsp:useBean>标签进行实例化,并详细阐述了id、class和scope属性的用途。同时讲解了如何通过<jsp:setProperty>和<jsp:getProperty>标签设置和获取JavaBean的属性,以及注意的大小写匹配规则。

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

在JSP内嵌入大量的Java代码可能会造成维护不方便。为此最好的方就是把JSP代码和Java代码分开,将JSP中的Java代码移植到Java类中。这些可能用到的类就是JavaBean。

JavaBean实现步骤如下:
1.在src中新建一个beans包,建立相应的Java类,编写相应的JavaBean实例。
在这里插入图片描述

package lesour.beans;

public class Account {
	private String username;
	private String password;
	private String sex;
	public String getUserName() {
		return username;
	}
	public void setUserName(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}

}

2.在JSP中使用<jsp:useBean>标签来实例化JavaBean的对象。

<%@ page language="java" import="java.util.*" contentType="text/html; cahrset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="lesour.beans.Account" %>
<html>
<body>
<h2>Hello World!</h2>
<jsp:useBean id="account" class="lesour.beans.Account"></jsp:useBean>
<%
	account.setUserName("李华");
	account.setSex("男");
	account.setPassword("123456789");
%>

姓名:<%=account.getUserName() %><br>
性别:<%=account.getSex() %><br>
密码:<%=account.getPassword() %><br>
</body>
</html>

运行结果如下。
在这里插入图片描述
<jsp;useBean>的基本用法如下所示

<jsp:useBean id="IdName" class="package.class" scope="page|session|application..."></jsp:useBean>

id属性的作用是指定JavaBean对象的名称,类似于 Account account = new Account() 中的account。
class属性是指定用哪个类来实例化JavaBean对象。
scope属性是指定对象的作用范围,scope范围有以下几种选择。

范围说明
page只是在实例化的页面上可用,别的页面不可用
request除了在实例化的页面上可用外,还可以在通过forward方法跳转的页面中被认识到
session表示JavaBean可用存在session中,可以被同一个用户一次会话的所有页面识别到
application表示JavaBean可用存在application中,可以被所有用户的所有页面识别到

使用<jsp:setProperty>设置JavaBean属性

<%
	account.setUserName("李华");
	account.setSex("男");
	account.setPassword("123456789");
%>

上面代码,这种方法设置JavaBean属性还是在JSP中使用Java代码。使用<jsp:setProperty>标签设置JavaBean属性的语法如下

<jsp:setProperty property="属性名称" name="bean对象名" value="常量"/>

如果<jsp:useBean>标签的scope属性是request,<jsp:setProperty>标签的语法如下

<jsp:setProperty property="属性名称" name="bean对象名" param="参数名"/>

上面的JSP代码还可以改为

<jsp:setProperty property="userName" name="account" value="李华"/>
<jsp:setProperty property="sex" name="account" value=""/>
<jsp:setProperty property="password" name="account" value="123456789"/>

注意:Bean属性名称是按照getter/setter来匹配的而且以小写字母开头,但是在getter和setter中显示为大写名称setUserName()、setSex()。
如果将上面代码第一行改为

<jsp:setProperty property="username" name="account" value="李华"/>

则会报错
在这里插入图片描述
除此之外

姓名:<%=account.getUserName() %><br>
性别:<%=account.getSex() %><br>
密码:<%=account.getPassword() %><br>

这段代码<%=account.getUserName() %>也属于Java代码,也可以<jsp:gettProperty>标签来分离JSP代码的Java代码。<jsp:getProperty>标签使用方法和<jsp:setProperty>标签类似。同样要注意属性的大小写。
最终JSP代码将改为

<%@ page language="java" import="java.util.*" contentType="text/html; cahrset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="lesour.beans.Account" %>
<html>
<body>
<h2>Hello World!</h2>
<jsp:useBean id="account" class="lesour.beans.Account"></jsp:useBean>

<jsp:setProperty property="userName" name="account" value="李华"/>
<jsp:setProperty property="sex" name="account" value=""/>
<jsp:setProperty property="password" name="account" value="123456789"/>

姓名:<jsp:getProperty property="userName" name="account"/><br>
性别:<jsp:getProperty property="sex" name="account"/><br>
密码:<jsp:getProperty property="password" name="account"/><br>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值