目录
目录
一、jsp:useBean操作
语法格式:
属性说明:
scope作用域:
1.page:
2.request:
3.session:
4.application
案例:JavaBean的简单使用
二、jsp:setProperty操作
语法格式:
属性说明:
案例:
三、jsp:getProperty操作
语法格式:
属性说明:
案例:
四、jsp:include操作
语法格式:
案例:
五、jsp:forward操作
语法格式:
案例:
六、jsp:param操作
语法格式:
案例:
七、jsp:plugin操作
语法格式:
属性说明:
案例:
总结:
一、jsp:useBean操作
JavaBean解释:一种符合特定约定的Java类,用于封装数据和提供对数据的访问方法。
功能:声明一个JavaBean组件实例,如果不存在,则创建一个。
语法格式:
<jsp:useBean id="" scope=""
<%-- 以下为可选属性 --%>
{
class=""/
type=""/
beanName=""/
}
></jsp:useBean>
属性说明:
属性 | 解释 |
id | 通过此变量名在程序内访问不同的JavaBean。 |
scope | 定义JavaBean的作用域,默认值为page。 |
class | 说明实例化一个JavaBean所引用的类的名字,类名区分大小写。 |
type | 明确指定在JSP页面中使用的JavaBean类的类型。 例如:com.example.User(完全限定类名)。 type值可以和class或baenName相同。 没有使用class或beanName的情况下使用type,JavaBean并不会被实例化。 |
beanName | 属性值为类名、包名或表达式,它作为参数传给java调用方法instantiate()。 该方法检查参数是类还是模板,然后再调用相应方法实例化一个JavaBean。 |
scope作用域:
1.page:
仅在当前页面有效,是默认值。
2.request:
生命周期和JSP中的request对象保持同步,request对象可被<jsp:forward>传递。
3.session:
在不关闭浏览器的情况下,在任意JSP界面或http会话中的servlet执行周期内有效,且生命周期与HttpSession对象同步。
4.application
在不关闭服务器的前提下,在web应用中所有jsp页面或servlet中均有效。它是由JSP引擎分配的,供所有客户访问的共享资源。
案例:JavaBean的简单使用
注意:JavaBean一定要放在一个包文件里,import引入的值要为完全限定名(包名+类名),其次class文件必须放在web应用项目目录”WEB-INF\classes\包名“下。
例如:我的.class文件就是放在以下目录
index.jsp文件
<%@page contentType= "text/html;charset=GB2312" %>
<%@page import="first.Sqare" %>
<html>
<head>
<title>例子</title>
</head>
<body>
<h1>
<jsp:useBean id="tom" class="Sqare" scope="page"></jsp:useBean>
<%
tom.setEdge(35);
%>
<p>正方形边长:
<%=tom.getEdge() %>
</p>
<p>正方形面积:
<%=tom.SqareArea() %>
</p>
</h1>
</body>
</html>
Sqare.java文件
package Sqare;
public class Sqare{
private int edge;
public Sqare(){
edge=5;
}
public int getEdge() {
return edge;
}
public void setEdge(int edge) {
this.edge = edge;
}
public int SqareArea(){
return edge*edge;
}
}
二、jsp:setProperty操作
相当于Java中的set方法,要预先使用useBean申明JavaBean。
语法格式:
<jsp:setProperty name="JavaBean的ID" property="JavaBean内的属性名" value="值/表达式" />
属性说明:
属性名 | 说明 |
name | 与usebean的id值相同,说明要使用的javaBean。 |
property | 与javaBean内的属性名相同,便于属性值设置和修改。 |
value | 设置javabean内属性的值。 |
案例:
三、jsp:getProperty操作
相当于Java中的get方法,要预先使用useBean申明JavaBean。
语法格式:
<jsp:getProperty name="JavaBean的ID" property="JavaBean内的属性名" />
属性说明:
属性名 | 说明 |
name | 与usebean的id值相同,说明要使用的javaBean。 |
property | 与javaBean内的属性名相同,便于获取属性值。 |
案例:
注意:getProperty操作和setProperty操作必须与usebean搭配使用。
四、jsp:include操作
功能:在JSP包含一个静态或动态文件。与JSP的include编译指令(容器指令)有很大区别。include编译指令主要用来包含一个静态文件,随JSP页面一起进行编译,被修改后,必须重新保存转译才能访问到修改后的文件,为一次转译。而jsp:include操作可以包含静态和动态文件,包含静态文件则与include编译指令功能相同,但包含动态文件时,所被包含的文件并不随JSP页面一起进行编译,而是根据需要进行二次编译,编译后会将动态执行的结果传回包含它的JSP页面,当被修改后,刷新即可访问,为二次转译。
语法格式:
<jsp:include page="相对于web应用的路径" ></jsp:include>
案例:
五、jsp:forward操作
功能:用于将网页重定向到另一个HTML文件或JSP文件。
与JSP内置对象response区别:
forward方法的调用者与被调用者之间共享Request和Response。
sendRedirect方法由于两次浏览器服务器请求,所以有两个Request和Response,不共享Request,传参只能在URL上进行。
语法格式:
<jsp:forward page="相对于web应用的路径" ></jsp:forward>
案例:
六、jsp:param操作
功能:为其它标签提供附加信息,可以用于参数传递。必须配合jsp:include或jsp:forward使用
语法格式:
<jsp:param name="属性名" value="属性值"/>
案例:
七、jsp:plugin操作
功能:让客户端实现一个小Java程序(Applet或Bean)
语法格式:
<jsp:plugin
type="bean | applet"
name="Applet名称"
code="java类名"
codebase="Java类所在目录"
<%-- 以下为可选属性 --%>
{
align="对齐方式"
height="高度"
width="宽度"
hspace="水平间距"
vspace="垂直间距"
archive="预先加载的类列表"
jreversion="JRE版本"
iepluginurl="URL"
nspluginurl="URL"
}
>
属性说明:
案例:
总结:
JSP操作指令,其功能包含HTML页面使用JAVABEAN(usebean),实现页面跳转(forward),实现参数传递(param),实现文件包含(include),实现插入JavaApplet(plugin)等操作。