在JSP中使用JavaBean
一. 调用JavaBean
在JSP中使用JavaBean,要使用<jsp:useBean>
动作指令,其语法如下:
<jsp:useBean id = "对象名称" scope = "存储范围" class = "类名"></jsp:useBean>
属性的解析:
属性名 | 解释 |
---|---|
id | JavaBean实例化后的对象名称 |
scope | JavaBean实例化后的对象存储范围,范围的取值有page,request,session,application |
class | JavaBean的全类名,即“包名+类名“ |
范例: 在JSP中调用JavaBean,并通过设置属性,获得属性值。
1.在package工作台创建一个web project,名称为JavaWeb04.
2.在src文件夹下面new一个叫Teacher的class,包名为com.MyJavaBean.text,这就是自定义的JavaBean。代码如下:
Teacher.java
package com.MyJavaBean.text;
public class Teacher {
private String name;
private int age;
private boolean sex;
private String professional;
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;
}
public boolean isSex() {
return sex;
}
public void setSex(boolean sex) {
this.sex = sex;
}
public String getProfessional() {
return professional;
}
public void setProfessional(String professional) {
this.professional = professional;
}
}
UseBeanDemo.jsp
<%@ page language = "java" pageEncoding = "gb2312" %>
<html>
<head>
<title>
UseBeanDemo
</title>
</head>
<body>
<%-- 通过useBean动作指令调用JavaBean --%>
<jsp:useBean id = "teacher" scope = "page" class = "com.MyJavaBean.text.Teacher"></jsp:useBean>
<%
teacher.setName("李如云");//设置姓名
teacher.setAge(30);//设置年龄
teacher.setSex(true); //设置为男性
teacher.setProfessional("讲师");//设置职称
%>
<%
out.println("姓名:" + teacher.getName() + "<br>");
out.println("年龄:" + teacher.getAge() + "<br>");
if(teacher.isSex()){
out.println("性别:" + "男" + "<br>");
}else{
out.println("性别:" + "女" + "<br>");
}
out.println("职称:" + teacher.getProfessional() + "<br>");
%>
</body>
</html>
在浏览器输入 http://localhost:8080/JavaWeb04/UseBeanDemo.jsp。如下图:
解析: <jsp:useBean>
调用JavaBean,其作用类似于java中的关键字new,就是实例化了一个对象。
二. 设置JavaBean属性
在jsp中设置JavaBean属性,用<jsp:setProperty>
。本节介绍开发中常用的两种语法格式:
<jsp:setProperty name = "实例化对象名" property = "属性名称" param = "参数名称" />
<jsp:setProperty name = "实例化对象名" property = "属性名称" value = "属性值" />
解释:
属性名 | 描述 |
---|---|
name | 与<jsp:useBean> 中的id要相同,是实例化的对象名 |
property | 要与JavaBean中的属性名称大小写相同 |
param | 要与JavaBean中的属性名称相同(不要求大小写相同) |
value | 指定的值 |
三. 获取JavaBean属性
在jsp中获取JavaBean的属性,用<jsp:getProperty>
动作指令。语法格式如下:
<jsp:getProperty name = "实例化对象名" property = "属性名称" />
范例: 获得JavaBean的属性值
AddTeacher.jsp
<%@ page language = "java" pageEncoding = "gb2312" %>
<html>
<head>
<title>
AddTeacher
</title>
</head>
<body>
<%-- 设置编码格式为gb2312 --%>
<% request.setCharacterEncoding("gb2312"); %>
<jsp:useBean id="teacher" scope = "page" class = "com.MyJavaBean.text.Teacher">
</jsp:useBean>
<%-- 设置实例化对象的属性 --%>
<jsp:setProperty name = "teacher" property = "*" />
姓名: <jsp:getProperty name = "teacher" property = "name" />
年龄:<jsp:getProperty name = "teacher" property = "age" />
性别:<jsp:getProperty name = "teacher" property = "sex" />
职称:<jsp:getProperty name = "teacher" property = "professional" />
</body>
</html>
填写信息的表单,TeacherForm.jsp:
<%@ page language = "java" pageEncoding = "gb2312" %>
<html>
<head>
<title>
TeacherForm
</title>
</head>
<body>
<form action = "AddTeacher.jsp" method = "post" >
<table>
<tr>
<td>姓名</td>
<td><input type = "text" name = "name" /></td>
</tr>
<tr>
<td>年龄</td>
<td><input type = "text" name = "age" /></td>
</tr>
<tr>
<td>性别</td>
<td>
<input type = "radio" name = "sex" value = "男" />
<input type = "radio" name = "sex" value = "女" />
</td>
</tr>
<tr>
<td>职称</td>
<td><input type = "text" name = "professional" /></td>
</tr>
<tr>
<td><input type = "submit" value = "添加" /></td>
<td><input type = "reset" value = "重置" /></td>
</tr>
</table>
</form>
</body>
</html>
在浏览器输入 http://locahost:8080/JavaWeb04/TeacherForm.jsp。如下:
输入如下信息,点击“添加”,如下:
页面跳转到如下界面,如下:
欢迎小伙伴来评论~