一、什么是 javabean ?在jsp页面中,包含html代码、css代码、java代码、以及业务逻辑处理代码等。javabean的作用就是将html代码与j
一、什么是 javabean ?
在jsp页面中,包含html代码、css代码、java代码、以及业务逻辑处理代码等。javabean的作用就是将html代码与java代码分离,**将java代码单独封装成一个处理某种业务逻辑的类**,然后在jsp中调用该类,实现降低耦合多和简化页面的作用。
javabean是特殊的java类,具有以下特征
- 提供一个默认的无参构造函数。
- 需要被序列化并且实现了 Serializable 接口。
- 可能有一系列的 getter 或 setter 方法,决定了读、写属性。
- 用途:实现一些业务逻辑或封装一些业务对象。例如:字符串处理、数据库操作等。
二、常用操作
访问javaBean
<jsp:useBean id="对象的标识符" scope="bean的作用域" class="路径"/>
访问javaBean的属性信息
使用< jsp:setProperty/ >标签来调用setter方法。
<jsp:setProperty name="对象名" property="属性名" value="属性值"/>
其中property="*" 所有名字和bean属性名匹配的请求参数,都会使用set方法为后者赋值。
value="<%=变量名%>"自定义赋值
pram="requset中参数名" requeset参数赋值
使用< jsp:getProperty/ > 调用getter方法。
<jsp:getProperty name="对象名" property="属性名">
实例:
step1:建立javabean(class文件,具有getter、setter和默认构造方法)
package com.mail.bean; public class Email { private String mailAdd; private boolean test; public Email() {} public Email(String mailAdd) { this.mailAdd = mailAdd; } public boolean isEamil() { // 正则表达式,定义邮箱格式 String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; // matches()方法可判断字符串是否与正则表达式匹配 if (mailAdd.matches(regex)) { test = true; } return test; } public String getMailAdd() { return mailAdd; } public void setMailAdd(String mailAdd) { this.mailAdd = mailAdd; } }
<!-- 输入邮箱 --> <%@ page language="java" contentType="text/html; charset=utf8" pageEncoding="utf8"%> <!DOCTYPE html> <html> <head> <meta charset="utf8"> <title>Insert title here</title> </head> <body> <form action="check.jsp"method="get" > <input type="text" id="email" name="email"> <input type="submit" name="sumit" value="提交"> </form> </body> </html>
<!-- 验证邮箱 --> <%@ page language="java" contentType="text/html; charset=utf8" pageEncoding="utf8"%> <!DOCTYPE html> <html> <head> <meta charset="utf8"> </head> <% String s=request.getParameter("email"); %> <jsp:useBean id="email" class="com.mail.bean.Email"></jsp:useBean> <jsp:setProperty name="email" property="mailAdd" value="<%=s %>"/> <body> <jsp:getProperty name="email" property="mailAdd"/> <% if(email.isEamil()){ out.print("是正确格式的邮箱。"); }else{ out.print("不是正确格式的邮箱。"); } %> </body> </html>
遇见的Bug
没有定义无参数构造函数
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好代码网。