public class Person {
private String username ;
private int age;
public Person() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
JaveBean你可以理解为一辆货车,在你的java端和web页面进行数据传递的载体,你当然可以每个变量单独传递,或者使用集合传递,但是javabean可以使你的数据更有可读性,方便开发时明确变量的意义,也使其他阅读你代码的人能直接你的意图
如果把bean类与数据库联合使用,一张表使用bean类,可以使你的代码更加简洁高效,易于理解,现在大多数框架都会使用这种机制。
jsp:useBean
<jsp:useBean>
标签用于在指定的域范围内查找指定名称的JavaBean对象: <jsp:useBean id="实例化对象的名称" class="类的全名" scope="保存范围"/>
<jsp:useBean>
这个行为,我们要使用Person类是这样使用的 <%--这里需要导入Person类--%>
<%@ page import="domain.Person" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
<%
//new出对象
Person person = new Person();
person.setName("zhongfucheng");
System.out.println(person.getName());
%>
</body>
</html>
<jsp:useBean>
就显得非常简洁,不用导包,不用new出对象 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title></title>
</head>
<body>
<jsp:useBean id="person" class="domain.Person" scope="page"/>
<%
person.setName("zhongfucheng");
System.out.println(person.getName());
%>
</body>
</html>
<jsp:useBean>
这样的代码就可以创建出一个对象出来。 public Person(int age) {
this.age = age;
}
<jsp:useBean id="person" class="domain.Person" scope="page"/>
内部原理是这样子的:jsp:setProperty
<jsp:setProerty name="对象名称" property="属性名" param="参数名" value="值">
<jsp:setProperty>
时,我们获取表单的信息,然后导入到javaBean对象中是这样的一种情况: <form action="/zhongfucheng/1.jsp" method="post">
用户名:<input type="text" name="username">
年龄:<input type="text " name="age">
<input type="submit" value="提交">
</form>
<jsp:useBean id="person" class="domain.Person" scope="page"/>
<%
int age = Integer.parseInt(request.getParameter("age"));
person.setAge(age);
System.out.println(person.getAge());
%>
<jsp:useBean id="person" class="domain.Person" scope="page"/>
<%--指定属性名称为age--%>
<jsp:setProperty name="person" property="age"/>
<%
System.out.println(person.getAge());
%>
<jsp:useBean id="person" class="domain.Person" scope="page"/>
<%--property的值设置为*就代表自动匹配--%>
<jsp:setProperty name="person" property="*"/>
<%
System.out.println(person.getAge());
System.out.println(person.getName());
%>
private String username ;
private int age;
用户名:<input type="text" name="username">
年龄:<input type="text " name="age">
用户名:<input type="text" name="user">
jsp:getProperty
<%--使用<jsp:getProperty>输出--%>
<jsp:getProperty name="person" property="username"/>
<jsp:getProperty name="person" property="age"/>
如果文章有错的地方欢迎指正,大家互相交流。