java代码:
public class Person {
private String name = "aaa"; //getClass()
private int age;
private Date birthday;
public Person() {
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jsp:usebean标签的使用</title>
</head>
<body>
<!-- usebean标签的标签体只在usebean标签实例化bean时才执行 -->
<jsp:useBean id="person" class="cn.itcast.domain.Person" scope="session">
bbbb
</jsp:useBean>
<%=person.getName()%>
</body>
</html>
PS:第一次访问jsp页面,在session域中查询id为person的bean,没有找到,则在session域中实例化一个id为person的bean,所以实例化的时候输出标签体内容 bbbb,然后输出person的name属性aaa。 而第二次访问该jsp页面时,session域中有id为person的bean,所以不会实例化,也就不会输出标签体的内容,直接输出name属性。
jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jsp:setProperty标签</title>
</head>
<body>
<jsp:useBean id="person" class="cn.itcast.domain.Person"></jsp:useBean>
<!-- 手工为bean属性赋值 -->
<jsp:setProperty name="person" property="name" value="xxxx"/>
<%=person.getName() %><br/>
<!-- 用请求参数给bean的属性赋值 http://localhost:8080/day09/2.jsp?name=yyyyyyyyyyyyyyyyyyyyyyyy-->
<jsp:setProperty name="person" property="name" param="name"/>
<!-- http://localhost:8080/day09/2.jsp?name=yyyyyyyyyyyyyyyyyyyyyyyy&age=12 -->
<jsp:setProperty name="person" property="age" param="age"/> <!-- 支持8种基本数据类型的转换(把客户机提交的字符串,转成相应的8种基本类型,赋到bean的属性上) -->
<!-- http://localhost:8080/day09/2.jsp?name=yyyyyyyyyyyyyyyyyyyyyyyy&age=12&birthday=1980-09-09 -->
<%--
<jsp:setProperty name="person" property="birthday" value="<%=new Date() %>" />
--%>
<%=person.getName() %><br/>
<%=person.getAge() %><br/>
<%=person.getBirthday() %><br/>
<br/>====================================<br/>
<!-- 用所有的请求参数为bean赋值 -->
<jsp:setProperty name="person" property="*" />
<%=person.getName() %><br/>
<%=person.getAge() %><br/>
<!-- 因为jsp页面中最好不出现java代码,所以最好用以下代码输出 -->
<jsp:getProperty name="person" property="name"/>
<jsp:getProperty name="person" property="age"/>
<jsp:getProperty name="person" property="birthday"/>
</body>
</html>