接着上一篇,在src目录下新建一个com.bean.Person类:
package com.bean;
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;
}
}
这就是一个简单的javabean,javabean要求类中必须有一个无参的构造方法(没有的话,会调用默认的无参构造),jsp标签在使用的时候会自动调用javabean的无参构造方法,所以需要javabean中必须存在一个无参的构造方法。
1、此时在在jsp页面上可以通过以下代码使用这个类:
<%@page import="com.bean.Person"%>
<%
Person p = new Person();
erson.setAge(19);
p.setName("jerry");
%>
<%=p.getName()%><br>
<%=p.getAge()%>
2、通过jsp标签使用这个类,test.jsp代码如下:
<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%>
<!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=GBK">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="person" scope="page" class="com.bean.Person"/>
bean实例:<br>
<jsp:setProperty name="person" property="name" value="jack" />
<jsp:setProperty name="person" property="age" value="18" />
<jsp:getProperty property="name" name="person"/>
<jsp:getProperty property="age" name="person"/>
</body>
</html>
jsp:useBean的id表示实例化对象的名称,scope表示有效范围(page,request,session,application),class是类路径,可以推测bean标签的原理也是反射。
jsp:setProperty和jsp:getProperty分别调用了javabean的setter和getter方法
启动tomcat,浏览器输入:http://localhost:8090/WebTest/test.jsp
结果如下:
bean实例:
jack 18
OK,比较简单