JSP程序的基本结构

JSP指令

JSP指令的语法结构:

<%@ 指令名 属性1=“属性值1” 属性2=“属性值2”%>

1.page指令

page指令用于设置页面的各种属性,如导入包,指明输入内容类型,控制session等,page指令一般位于JSP页面开头,一个JSP页面可以包含多条page指令。

page指令的属性
language设定JSP页面使用的脚本语言。
extends此JSP页面生成的Servlet的父类
import指定导入的Java软件包或类名列表。如果有多个类,中间用逗号隔开
session设定JSP页面是否使用session对象。值为“true|false”,默认为true
buffer设定输出的流是否有缓冲区。
autoFlush设定输出流的缓冲区是否要自动清除
info主要表示此JSP网页的相关信息
errorPage设定JSP页面发生异常时重新指定的页面URL
isErrorPage指定此JSP页面是否为处理异常错误的页面。
contentType指定MIME类型和JSP页面的编码方式
pageEncoding指定JSP页面的编码方式
isThreadSafe设定JSP页面生成的Servlet是否实现SingleThreadModel接口
isELlgnored指定JSP页面是否忽略EL表达式。

1、1pageEncoding和contentType属性

pageEncoding属性用来设置JSP页面字符的编码。contentType属性用来设置JSP页面的MIME类型和字符编码,浏览器会根据此显示网页内容。这两种属性都可以用来设置字符编码集类型,同时使用时要保持编码一致。

2、import属性

import属性可以在当前的JSP页面引入JSP脚本代码中需要的其它类在需要引入多个类或包时,可以在中间用逗号隔开或使用多个page指令。

<%@ page import="java.io.*,java.util.Date"%>
或者
<%@ page import="java.io.*"%>
<%@ page import="java.util.Date.*"%>

2.include指令

include指令用于当前JSP中包含其他文件,被包含的文件可以是JSP、HTML或文本文件。

<%@ include file="文件的相对路径"%>

3.taglib指令

taglib指令用于指定JSP页面所有的标签库,一般格式为:

<%@ taglib uri="标签库URL" prefix="标签前缀"%>

JSP脚本程序

JSP脚本程序指的是在JSP页面中嵌入标签<% %>之间的Java代码,脚本程序可以卸载JSP页面的任何位置,JSP脚本程序可以包含一行或多行Java语句,也可以实现一个功能或多个功能。

JSP表达式

JSP中提供了一种可以用来实现输出的标签<%= %>,称为JSP表达式,其使用格式为:<%=变量或可以返回值的方法或Java表达式 %>。JSP表达式可以嵌入多种HTML标签的属性中,例如:

<input type="text" name="<%=变量或表达式%>" value="<%=变量或表达式%>"/>
<a href="<%=变量名或表达式%>">单击</a>

JSP声明标识

JSP声明标识指的是写在标签<%! %>中的Java代码。在声明标识中可以指定变量、常量,还可以用来定义函数,在声明标识中定义的变量的作用范围是当前页面,生存时间是服务器的运行期间。在脚本程序中定义的变量的作用范围是当前页面,生存时间是页面的一次打开和关闭,另外在脚本程序中只能进行函数的调用,不能进行函数的定义。

JSP注释

1.HTML的注释方法:

<!--add your comments here-->

2.JSP注释标记:

<%--
add your comments here
--%>

3.在JSP脚本中使用注释:

<%
//注释一行
/*注释多行*/
%>

JSP标准动作简介

1.JSP:include动作

<jsp:include>标签标识包含一个静态的或者动态的文件。

语法:

<jsp:include page="path(相对路径)" flush="true"/>
<jsp:include page="<%=path %>"></jsp:include>

<jsp:param name="paramName" value="param Value">中<jsp:param>子句可以传递一个或多个参数给动态文件。

jsp:include动作和include指令相比,主要有如下不同:

(1):include指令是直接包含源代码,<jsp:include>包含请求的HTML代码,并且支持JSP表达式和Struts应用中的请求模式。

(2):<jsp:include>元素请求代码时可以带参数,代码<jsp:param name="paramName" vaalue="param Value"/>,而<%@include>不可以带参数。

(3):<jsp:include>中的path属性中可以使用JSP表达式,而<%@include>中的file属性不能使用JSP表达式。

(4):从执行速度角度上讲,<%@include>比<jsp:include>请求速度快,因为<%@include>仅处理一个请求,而<jsp:include>处理两个请求。

2、jsp:forward动作

jsp:forward动作把请求转发到另外的页面,不能简单地等同于页面跳转。只有一个属性page,表示的是一个相对URL。page值可以直接给出,也可以使用JSP表达式。

<jsp:forward page="path"(为一个表达式,或者字符串)/>
或者
<jsp:forward page="path">
<jsp:param name="paramName"(指定参数名) value="param Value"(指定参数值,可以是一个或多个,参数被发送到动态文件。)/>...
</jsp:forward>

操作JavaBean所用到的三个标准动作

1、JavaBean概念及特点

Java Bean是一个可重复使用的软件部件。通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速地生成新的应用程序。JavaBean实质上是一个Java类,但是必须:是公共的类、构造函数没有输入参数、属性必须声明为private,方法必须声明为public、用一组set方法设置内部属性、用一组get方法获取内部属性、是一个没有主方法的类、一般的Java类默认继承Object类,而JavaBean不需要这种继承、实现java.io.Serializable接口。

2、jsp:useBean标准动作

语法格式:

<jsp:useBean id="name"(指定该JavaBean实例的变量名) class="className"(指定JavaBean的类名) scope="scope"(指定JavaBean的作用范围)/>
或者
<jsp:useBean id="name" type="className"(指定JavaBean对象的类型,在查找已存在的JavaBean时使用) scope="scope"/>

其中scope指定JavaBean的作用范围可用的四个值:page(默认为page表明只应用于当前页面)、request(表明只能应用于当前请求)、session(表明应用于当前会话)、application(表明此JavaBean能应用于整个程序内)。

3、jsp:setProterty标准动作

用于设置JavaBean中的属性值,语法格式:

<jsp:setProtery name="id"(指定JavaBean对象名,与useBean标准动作的id相对应) property="属性名"(表示要设置JavaBean中的那个属性,如果全部都设置,则填写为*) value="值"(可选,用来指定JavaBean属性的值)/>
或
<jsp:setProperty name="id" property="属性名" param="参数名"(可选,用来指定哪个请求参数作为JavaBean的属性值)/>

4、jsp:getProperty标准动作

提取指定Bean属性的值,转换成字符串,然后输出。两个属性:name(指定JavaBean对象名,与useBean标准动作中的id相对应)、property(指定JavaBean中需要访问的属性名)。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐