脚本元素
脚本元素是JSP页面中嵌入的Java代码。脚本元素包括声明、表达式和脚本小程序
声明
声明的作用是在JSP程序中声明变量、方法和类。可以一次声明多个变量、方法和类,这些声明必需符合Java语法。一般情况下,声明的对象只在当前页面中起作用
<%! 声明 %>
脚本小程序
脚本小程序是在JSP程序中嵌入的一段Java代码。脚本小程序在<% %>之间插入,可以包含多个Java语句。一个JSP页面中可以包含多个脚本小程序,这些小程序由JSP容器顺序执行
<% Java代码 %>
表达式
表达式是由常量、变量和运算符组成的式子,在请求处理的时候表达式被计算并插入到输出流返回给客户端
<%=expression %>
注: <%=这3个字符之间不能有空格,表达式后不能有分号
指令元素
JSP指令用于设置整个页面属性,并告诉JSP引擎如何处理该页面,它并不向客户端产生任何输出。通过JSP指令可以设置页面的引入类、内容类型和编码、错误处理和会话信息等
<%@ 指令名 属性名1=“属性值” 属性名2=“属性值” .... %>
page指令
page指令定义了一组与页面相关的属性,一个页面可以包含多个page指令
<%@ page 属性名1="属性值" .... %>
常用属性:
- language属性: 设置JSP页面所使用的语言,目前只支持Java,默认为java
- extends属性:自定义继承的超类
- import属性:设置JSP导入的类包,如果需要导入多个类包,各类包之间用逗号分隔。使用import属性引用类文件必须写全名,import属性是唯一一个可以可以重复设置多次的属性
<%@ import="java.util* , java.io.*" %>
- pageEncoding属性:指定页面编码格式,通常设置为utf-8
- contentType属性:设置页面的MIME类型和编码。浏览器会根据MIME类型选择响应的方式来处理收到的信息
- session属性:指定页面是否使用HTTP的session对象,默认值true
- buffer属性:设置页面out对象的缓冲区大小,默认为8kb,单位只能使用kb,建议使用8的倍数作为属性值
- autoFlash属性:设置页面缓存满时是否自动刷新缓存,默认为true。如果设置为false,则缓存满时会抛出异常
- isErrorPage属性:可以将当前页面设置成错误处理页面来处理另一个JSP页面的错误,也就是作为异常处理页面
- errorPage属性:指定当前页面的异常处理页面,对应的异常处理页面isErrorPage必须设置为true。如果设置该属性,将会优先使用该属性定义的异常处理页面
- isThreadSafe属性:用来设置当前JSP页面是否能够同时响应超过一个以上的用户请求
- info属性:定义一个字符串,作为页面的说明文字,通过servelt.getServletInfo可以获取定义的信息
include属性
JSP的include指令用来引用外部文件,可以放在JSP文件的任意位置。文件可以是HTML文件、JSP文件、文本文件或一段Java代码
include指令表示静态引用,在JSP页面翻译成Servlt前,将引用的文件内容插入到当前位置(合并两个文件)
<%@ include file="URL" %>
动作元素
JSP动作利用XML语法格式的标记来控制JSP容器的行为。利用JSP动作可以动态的插入文件,重用JavaBean组件,把用户重定向到另外的页面,为Java插件生成HTML代码。与JSP指令元素不同的是,JSP动作元素在请求处理阶段起作用
动作的语法如下:
<jsp: action_name attribute="value" />
常用动作:
<jsp : param>动作
该动作用来以键值对的形式为其它动作元素提供参数。它一般和<jsp: include >、<jsp: forward>和 <jsp:plugin>一起使用
<jsp:param name="key_name" value="value_name" />
<jsp : include>
该动作用来在当前JSP页面动态的包含一个HTML文件或JSP文件。该动作可以自动区分被包含的页面是静止的还是动态的。
如果被包含页面是静态页面,则与<%@ include %>指令一样,将内容包含进来处理
如果被包含的是动态页面,页面会被JSP容器编译,在请求处理期间,JSP页面向被请求动态页面发送请求,然后将请求结果插入到JSP页面的响应流中
<jsp:include page="URL" flush="true | false" />
或
<jsp:include page="URL" flush="true | false" >
<jsp:param ... />
</jsp:include>
<jsp: forward>动作
该动作告诉JSP容器停止当前JSP页面的执行,把请求转向另一个资源,可以是一个HTML文件、JSP页面或Servlet,但是请求转向的资源必须与该JSP页面在同一个Java web 应用程序
<jsp: forward page="URL" />
或
<jsp: forward page="URL" >
<jsp: param=... />
</ jsp:forward>
<jsp: plugin> 、<jsp: fallback>动作
<jsp: plugin>动作用来根据浏览器的类型插入插件,如果插件不存在,它会下载插件,然后执行Java组件
<jsp: fallback>是<jsp: plugin>的子标识,当使用jsp:plugin标识加载Java小程序或JavaBean失败时,可通过<jsp: fallback>标识向用户输出提示信息
注释
JSP中可以使用3种注释:HTML注释、JSP注释和Java注释
HTML注释
<!-- 内容 -->
jsp注释
<%-- 内容 --%>
java注释
<%
// 单行注释
/*
多行注释
*/
%>
注: 除了HTML注释,其它注释不会再网页源码中显示