指令标识
- 指令标识格式:<%@ 指令名 属性1=“属性值1” 属性2=“属性值2”…%>
page指令
- 常用属性
language属性
声明所使用的脚本语言,目前只有Java一种,所以可以不声明
pageEncoding属性
指定页面的编码方式。默认值为pageEncoding=“iso-8859-1”,若设为中文编码可以是pageEncoding=“UTF-8”。
import属性
指定所导入的包。(java.lang.、javax.servlet.、javax.servlet.jsp.、和java.servlet.http.几个包在程序编译时已经被导入,所以不需要特备声明)
注:import属性可以多次出现,其他属性均只能出现一次。
contentType属性
指定JSP页面的编码方式和JSP页面响应的MIME类型(默认的MIME类型为text/html,默认的字符集类型为charset=ISO-8859-1)。例如:contentType=“text/html;charset=UTF-8”
ErrorPage属性
指定错误处理页面。当JSP出错时,会自动调用该指定所指定的错误处理页面。(此属性要和isErrorPage一起使用)
isErrorPage属性
指定JSP文件是否进行异常处理。可以设置为true或false,如果设置为true,则errorPage指定的页面出错时才能跳转到此页面进行错误处理。
isELIgnored属性
指定JSP文件是否支持EL表达式。
- 不常用属性
extends属性
指定JSP页面产生的Servlet继承的父类(不建议使用,可能影响服务器性能)
session属性
指定JSP页面是否可以使用Session对象(默认值为session=”true”)。
buffer属性
指定缓冲区的大小,默认是8KB。如果为none,则表示不设置缓冲区。(此属性要和autoFlush一起使用)
autoFlush属性
指定输出缓冲区即将溢出时,是否强制输出缓冲区的内容。可以设置为true或false(默认为true)。
isThreadSafe属性
指定JSP是否支持多线程。可以设置为true或false,若为true,则表示该页面可以处理多个用户的请求;如果为false,则此JSP一次只能处理一个页面的用户请求。
info属性
设置JSP页面的相关信息。可以使用servlet.getServletInfo()方法获取到JSP页面中的文本信息。
include指令
复制被包含文件汇总的所有内容,再把它粘贴到这个文件中。
file属性
指定要包含文件的路径,可以是相对也可以是绝对,但不可以用<%=%>表达式来表达路径。
<%@ include file=”xxx.jsp”%>
taglib指令
prifix属性
用来指定该标签的前缀。不能为:jsp、jspx、java、javax、sun、servlet和sunw;
uri属性
用来指定标签文件或标签库的存放位置。
<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>
脚本标识
脚本标识分为jsp表达式、声名标识、脚本程序
jsp表达式
<%=表达式 %>
用于向页面输出信息
声名标识
<%! 声名变量或方法的代码 %>
在jsp页面声名全局变量和方法
脚本程序
<% Java代码和脚本代码 %>
在jsp页面中嵌入Java代码或脚本代码
注释
脚本标识分为jsp表达式、声名标识、脚本程序
单行注释
以“//”开头注释后面的内容。
多行注释
以“/”开始,“/”结束。注释中间的内容。
隐藏注释
<%–注释内容–%>。注释中间的内容。
动作标识
<jsp:include page=”url” flush=”false|true” />
page属性
用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。
flush属性
指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。
include指令与<jsp:include>区别
include指令通过file属性来指定被包含的页面。<jsp:include>动作通过page属性来指定被包含的页面。
使用include指令,被包含的文件被原封不动的插入到包含页面中使用该指令的位置,然后JSP编译器再对这个合成的文件进行编译,所以在一个JSP页面中使用include指令来包含另一个JSP页面,最终编译后的文件只有一个。所以可能会出现命名冲突的情况。(静态包含)
<jsp:include>动作包含文件时,当该动作标识执行后,JSP程序会将请求转发到(注意不是重定向)被包含页面,并将执行结果输出到浏览器中,然后返回页面继续执行后面的代码,web容器执行的两个文件,所以JSP编译器会分别对这两个文件进行编译。(动态包含,也可静态包含)
<jsp:forward page=”url”>
page属性
用于指定请求转发的目标页面,它也可以通过执行一个表达式来获得。
<jsp:param name=”paramName” value=”paramValue”/>
name属性
用于指定参数名称
value属性
用于设置对应的参数值