这一节我们讲讲jsp的动作标签,我给大家介绍你个简单的动作标签,然后举个和javabean综合使用的例子。首先我给大家介绍介绍javabean,可以说简单的javabean就是一个普通的类,它里面包括get和set方法。首先我们写个简单的javabean->Person类
Person.java
Package foo;
public class Person {
private String id;
private String name;
private String sex;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}}
为什么要这样写呢,因为这样的话,可以将数据封装在属性中,可是属性又是private除了类本身,其它的类不能调用它。所以又提供了public的方法,来操作它。这就是体现了面向对象的封装的特征。
如果我们想在jsp中得到javabean的属性,我们如果不用动作标签,我们可以这样写
Person1.jsp
<html>
<body>
<%Person p =(Person) request.getAttribute(“person”);%>
Person is:<%=p.getName()%>
</body>
</html>
如果我们引入动作标签的话,我们就可以这样写
Person2.jsp
<html>
<body>
<jsp:usebean id=”person” class=”foo.Person” scope=”page”/>
Person is :<jsp:getProperty name=”person” property=”name”/>
</body>
</html>
1.<jsp:bean id=”person” class=”Person” scope=”request”/>id =”person” 是声明bean对象的标识符。Class=”person” 是声明bean对象的类类型(当然是完全限定名)
Scope =”request”是声明这个bean对象的属性作用域。
<jsp:getProperty name=”person” property=”name”/> name=”person”这与<jsp:bean>中id的值相匹配。Property=”name” 标识属性中的标记符
既然有<jsp:getProperty> 那么就一定有<jsp:setProperty>
<jsp:usebean id=”person” class=”Person” scope=”request”>
<jsp:setProperty name=”person” property=”name” value=”huluwa”/> </jsp:bean>
2.<jsp:include page = “dd.html”/>和指令<%@ include file=”dd.html”%>他们都是将dd.html包含于当前页面。但他们两个还是有区别的。我们讲过指令是在jsp转换成servlet是发生的,而<jsp:include>是容器调用Class文件时发生,也就是运行时发生的。
3.<jsp:forward page =”huluwa.html”>他是服务器之间页面的跳转。地址栏里的url没有发生改变。
例子下载
本章讲完了,我下节讲一讲自定义标签。