JavaBeans类及属性设置获取
目录结构:
1创建JavaBean类:
package com.po;
/*
* 创建JavaBeans实例四个条件
* 1.共有类
* 2.私有属性
* 3.无参数的共有构造方法
* 4.getter和setter方法
* */
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
public User() {
}
}
2.login.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>Login</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class="head">
<h1>欢迎访问</h1>
</div>
<div class="main">
<%--靠上面的这个写法可以传参数过去,在dologin的jsp:setProperty里面用 param="weather"这个属性来接受这个值--%>
<form action="dologin.jsp method="post" class="form"><p class="in"><label>用户名</label><input type="text" name="name" value=""><label>密码</label><input type="text" name="password" value=""></p><p class="space"><input type="submit" name="submit" value="登录" class="login"></p></form></div></body></html> 3.dologin.jsp<form action="dologin.jsp?weather=cold" method="post" class="form">
<%@ 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>dologin</title> </head> <body> <%-- 实例化javabean对象,id为myuser--%> <jsp:useBean id="myuser" class="com.po.User" scope="page"/>
<%--给javabean对象属性赋值setProperty --%>
<%--第一种:给表单所有属性匹配 -- property="*"--%> <jsp:setProperty name="myuser" property="*"></jsp:setProperty> <%--第二种:手工设置部分属性 --%> <jsp:setProperty name="myuser" property="name" value="王小二"></jsp:setProperty> <%--第三种:通过URL传递数据过来,<form action="dologin.jsp?weather=cold" --%> <jsp:setProperty name="myuser" property="password" param="weather"/>
姓名: <%=myuser.getName()%> 密码: <%=myuser.getPassword() %> </body> </html>
首先<jsp:userBean id="javabeanID名" class="com.po.User" scope="page"/>
两处标黄色的是同一个东西,上面是实例化JavaBeans对象,下面的是给对象属性赋值.上面的class表示用到User.java函数,里面是javaBean类(满足4个条件:1.共有类public class User(){}, 2.私有属性:private String name; private String password; 3.无参数的公有构造函数public User(){ }, 4.setter&getter方法).范围是page.
然后<jsp: setProprety name=" javabeanID名" property="name" value="王小二"></jsp:setProperty>
javabean的<jsp: setProprety property="属性名">property=" weather "应该为java类里面的私有属性的名称,否则报错:can't find any information on proferty [weather] in a bean of type.(下图)