JavaBean是有着特定规则的java类:
1.提供一个无参的构造函数(注意这个构造函数前面要写public。。。我因为这个原因找了一下午的错)
2.类中数据为private型(一般来说是这样,自己实验证明了下貌似什么属性都不影响是不是JavaBean类)
3.有着一系列对数据进行处理的get和set方法(这个是一定的,少了以后就会报错)
说一下用法:
JavaBean类和普通的类一样,也可以在jsp页面里面用new创建,然后调用set,get方法都是可以的,但是这样就体现不出其特性
他有些特殊之处:
1.创建JavaBean类对象,和new创建效果是一样的,只不过用new创建要import一下该类在的包,这种方式直接在class里面填写就好了:
<jsp:useBean id="bean的名字" scope="bean的作用域,不写默认为page" class="填JavaBean类"/>
2.给生成对象赋值:
<jsp:setProperty name="bean的id" property="属性名,如果写*就是所有的进行匹配" value="这个属性可以不写,写了以后就将property匹配到的值设置为value"/>
3.得到JavaBean对象的值:
<jsp:getProperty name="bean的id" property="你要得到的属性名字"/>
特殊说明:
每个标签后面的‘/'结束标志不能掉,不然会报错(很痛苦的找了很久的错),然后就是JavaBean一般是和表单一起使用,action里面填用于处理接受表单信息的jsp页面,在该jsp页面里面使用JavaBean的赋值语句会自动匹配发送过来的表单信息,还有就是如果是用idea编程,先在项目的src目录下生成一个package包,再在包的下面生成bean类,最后用package语句打包,那么创建bean的时候class里面填包名.类名,还有一点就是获得的用户名为中文乱码的处理方法:在开头那插入代码request.setCharacterEncoding("UTF-8");注意大小写
附上我写的样例测试:
主页:
<%--
Created by IntelliJ IDEA.
User: hjy
Date: 2018/1/1
Time: 15:55
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JavaBean测试</title>
</head>
<body>
<h1>JavaBean测试</h1>
<form action="judge.jsp" method="post">
<table>
<tr>
<td>姓名:</td><td><input type="text" name="name"/></td>
</tr>
<tr>
<td>密码:</td><td><input type="password" name="password"></td>
</tr>
<tr >
<td colspan="2"><input type="submit" value="登录"/></td>
</tr>
</table>
</form>
</body>
</html>判断页面:
<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %>
<%
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title>judge</title>
</head>
<body>
<h1>judge</h1>
<jsp:useBean id="temp" scope="page" class="tool.res"/>
<jsp:setProperty name="temp" property="*"/>
<p>姓名:<jsp:getProperty name="temp" property="name"/></p>
<p>密码:<jsp:getProperty name="temp" property="password"/></p>
</body>
</html>
JavaBean类,记住我是先在src下面创了个package叫tool,然后再创这个类就这样写:
package tool;
public class res {
private String name;
private String password;
public res()
{
}
public void setName(String n)
{
name=n;
}
public String getName() {
return name;
}
public void setPassword(String p)
{
password=p;
}
public String getPassword() {
return password;
}
}
