在一个JSP页面中,可以包括指令标识、HTML代码、JavaScript代码、嵌入的Java代码、注释和JSP动作标识等内容。但是这些并不是JSP页面所必须的。
1 指令标识
指令标识主要用于设定整个JSP页面范围内都有效的相关信息。它被服务器所解释执行,并不会产生任何内容输出到网页中。
JSP指令标识的语法格式如下:
<%@ 指令名 属性1="属性值1" 属性2="属性值2"...%>
参数说明:
指令名:用于指定指令名称,在JSP中包含page、include和taglib 3条指令
属性:用于指定属性名称,不同的指令包含不同的属性。在一个指令中,可以设置多个属性,各属性之间用逗号或者空格分隔
属性值:用于指定属性值
1.1 page指令
page指令是JSP页面中最常用的指令,用于定义整个JSP页面的相关属性,这些属性在JSP被服务器解析成Servlet时会被转换为相应的Java程序代码。
<%@ page attr1="value1" attr2="value2" ...%>
1、language属性
2、extends属性
3、import属性
4、pageEncoding属性
5、contentType属性
6、session属性
7、buffer属性
8、autoFlush属性
9、isErrorPage属性
10、errorPage属性
1.2 include指令
文件包含指令include,通过该指令可以在一个JSP页面中包含另一个JSP页面。不过该指令是静态包含,也就是被包含文件中所有内容都会被原样包含到该JSP页面中,即使被包含文件中有JSP代码,在包汉中也不会被编译执行。使用include指令,最终将生成一个文件,所以在被包含和包含的文件中,不能有相同名称的变量。
<%@include file="path"%>
注意:在应用include指令进行文件包含时,为了使整个页面的层次结构不发生冲突,建议在被包含页面中将<html> <body>等标记删除。因为在包含该页面的文件已经制定这些标记
1.3 taglib指令
在JSP文件中么可以通过taglib指令标识声明该页面中所使用的标签库,同时引用标签库,并制定标签的前缀。在页面中引用标签库之后,就可以通过前缀来引用标签库中的标签。
<%@taglib prefix="tagPrefix" uri="tagURI"%>
2 脚本标识
在JSP页面中,脚本标识能够方便灵活地生成页面中的动态内容。
JSP的脚本标识包含3个部分,即JSP表达式 声明标识和代码片段。
2.1 JSP表达式
用于向页面中输出信息,其语法格式如下:
<%= 表达式%>
表达式可以是任何java的完整表达式。该表达式的最终运算结果将被转换为字符串。
注意%与=之间不能够有空格
2.2 声明标识
声明标识用于在JSP页面中定义全局的变量或方法。通过标识定义的变量和方法可以被整个JSP页面访问。
<%! 声明变量或方法的代码 %>
2.3 代码片段
所谓代码片段就是在JSP页面中嵌入的Java代码或脚本代码。代码片段将在页面请求的处理期间被执行,通过Java代码可以定义变量或流程控制语句灯;通过脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和响应、访问session会话等。
<%Java代码或者脚本代码%>
3 JSP动作标识
3.1 包含文件标识<jsp:include>
用于向当前页面中包含其他文件。
<jsp:include page="url" flush="false|true">
子动作标识<jsp:param>
</jsp:include>
3.2 请求转发标识<jsp:forward>
可以将请求转发到其他的Web资源,例如另一个JSP页面、HTML页面、servlet灯。执行请求转发后,当前页面将不再被执行,而失去执行该标识指定的目标页面。