1.定义JavaBean
JavaBean是一种特殊的类,语法特征如下:
public类;
包含一个无参构造方法;
属性的获取和设置,getXxx()和setXxx();
2.设置JavaBean属性
<jsp:usebean id="beanInstanceName" class="classname" scope="page|request|session|application" />
说明:
id: 指定JavaBean的实例名
class: 指定JavaBean的全限定类名
scope: 指定引入的JavaBean实例的作用域。默认为当前页。
<jsp:setProperty name="beanInstanceName" property="propertyName" value=""value" />
<jsp:getProperty name="beanInstanceName" property="propertyName" />
3.JavaBean的存在范围
page范围:每个JavaBean对象只属于当前的JSP页面;
request范围:每个JavaBean对象只在一次请求中有效;
session范围:每个JavaBean对象都寄存于session中,即在浏览器与服务器的一次会话范围内有效;
application范围:每个JavaBean对象都存在于application中,也就是在整个服务器范围内有效;
例:(用户登录功能)
User.java
public class User {
private String username;
private int age;
public User(){}
public String getUsername(){
return username;
}
public void setUsername(String username){
this.username=username;
}
public String getAge(){
return age;
}
public void setAge(int age){
this.age=age;
}
}
login.jsp
<form action="javabeandemo.jsp" method="post">
用户名:
<input type="text" name="username">
<br>
年 龄:
<input type="text" name="age" >
<input type="submit" value="提交" />
</form>
javabeandemo.jsp
<!-- 指定JavaBean实例,其相应的生存范围及全限定类名 -->
<jsp:useBean id="userbean" scope="page" class="javabean.User" />
<!-- 使用jsp:setProperty动作指令设置username属性值 -->
<jsp:setProperty name="userbean" property="username" param="username" />
<!-- 使用jsp:serProperty动作指令设置age属性值 -->
<jsp:setProperty name="userbean" property="age" param="age" />
<!-- 使用jsp:getProperty动作指令获得username属性值 -->\
用户名:
<jsp:getProperty property="username" name="userbean"/>
<br>
<!-- 使用jsp:getProperty动作指令获得age属性值 -->
年 龄:
<jsp:getProperty property="age" name="userbean"/>