首先我们编写一个最为简单的JavaBean类.
package jack.ibm.jsp;
public class JavaBeanTest {
private String name;
private int age;
public void setName(String name) {
this.name=name;
}
public void setAge(int age) {
this.age=age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
将JavaBean打包好放在指定的目录中, JavaBean的类的编写必须注意如下几点. 1. 所有的属性必须声明成private类型. 2.设置相对应的set和get方法. 并且都为public类型. 3. 必须由空的构造方法.
在写一个表单
<html>
<head>
<title>JavaBean Demo</title>
</head>
<body>
<form action="javabean_demo.jsp" method="post">
Name: <input type="text" name="name"/>
Age: <input type="text" name="age"/><br>
<input type="submit" value="Submit"/><br>
</form>
</body>
</html>
用一个JSP来处理表单并且使用JavaBean.
%@ page import="jack.ibm.jsp.JavaBeanTest"%>
<html>
<head>
<title>JavaBean JSP</title>
</head>
<body>
<%
JavaBeanTest jbt=new JavaBeanTest();
jbt.setName(request.getParameter("name"));
jbt.setAge(Integer.parseInt(request.getParameter("age")));
%>
<h3>Name: <%=jbt.getName()%></h3>
<h3>Age: <%=jbt.getAge()%></h3>
</body>
</html>
这是最原始的使用方法.下面是使用标签的用法.
<html>
<head>
<title>JavaBean JSP</title>
</head>
<body>
<jsp:useBean id="simple" scope="page" class="jack.ibm.jsp.JavaBeanTest"/>
<jsp:setProperty name="simple" property="*"/>
<h3>Name: <%=simple.getName()%></h3>
<h3>Age: <%=simple.getAge()%></h3>
</body>
</html>
这里应用标签<jsp:useBean />要设置id, scope, 和class三个参数.
<jsp:setProperty />要设置name 和 property 这两个参数. *表示自动设置所有属性.
但是要注意到这里存在一个问题,就是服务器会自己转int,如果我们在表单年龄出输入的就是一串字符串那么程序由于将字符串转int,结果就会报错.
<反射机制> 标签的setter和getter都是反射机制.