一个Bean相当与一个 class 的getXXX(),setXXX()方法。
首先看目录树:
Person.java的方法相当于一个Bean
(一)Bean
Person.java:
package com;
public class Person {
private String name;
private int 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;
}
}
(二)useBean的使用(useBean,setProperty,getProperty)
<jsp:useBean id=“ 这个Bean的标识 ” class=“ 与这个Bean绑定的类 ” scope=“page/request/session/application”>
作用是使一个类与Bean绑定,scope代表这个Bean的作用域)
<jsp:setProperty property=“ 绑定Bean的类的某个变量 ” name=“ Bean的标识 ”/> 作用是对Bean绑定的类的变量进行设值
<jsp:getProperty property=“绑定Bean的类的某个变量” name=“ Bean的标识 ”> 返回某个Bean的变量值
bean.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="p" class="com.Person" scope="page"></jsp:useBean>
<jsp:setProperty property="name" name="p"/>
<jsp:setProperty property="age" name="p"/>
<h1>姓名:<jsp:getProperty property="name" name="p"/></h1>
<hr>
<h1>年龄:<jsp:getProperty property="age" name="p"/></h1>
</body>
</html>
第11行,把 Person类与名为p的Bean绑定在一起。并且设置 p 的作用域为 page
第12,13的 setProperty 可以让传来的数据对应给到 p 的 name变量 和 age变量中。第15,17行,在浏览器打印 p 的name变量 和 age 变量
(三)用一个输入表单人为对 Bean设值
form.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/JSPDEMO/bean.jsp" method="post">
姓名:<input type="text" name="name"><br>
年龄:<input type="text" name="age"><br>
<input type="submit" value="submit"><br>
</form>
</body>
</html>
第10行,将用户在浏览器输入的数据送到 /JSPDEMO 下的 bean.jsp 中去。
第11,12行的名字(即name)要和 bean.jsp 的name一样。否则数据从from.jsp传到bean.jsp后无法自动对应 p的name 和 age 传值