JSP文件主要由模板元素、指令元素、动作元素、脚本元素、声明、表达式、Scriptlets和JSP内建对象组成。
1 模板元素
模板元素是指JSP的静态HTML或者XML内容。
2 注释
(1)HTML/XML注释
<!-- 注释内容 -->
(2)JSP注释
<%--注释内容--%>
(3)Scriptlets注释
//单行注释
/*
* 多行注释
*/
3 脚本元素
脚本元素主要包括:声明,表达式,Scriptlets
(1)声明就是在JSP程序中声明合法的变量和方法
<%! String getDate(){
return new java.util.Date().toLocaleString();
}
int count = 10;
%>
<%! %>标签,在此中可以定义全局变量、方法、类,但是不能出现任何的其他语句。虽然可以在此定义类或方法,但不建议这样,往往会通过JavaBean的形式调用。
(2)表达式就是位于“<%="和”%>“之间的代码
<%=getDate()%>
主要功能是输出一个变量或一个具体内容。
(3)Scriptlets位于”<%“和”%>“之间,它们是合法的Java代码。可以在此定义局部变量、编写语句等。与下面的scriptlet标签等价:
<jsp:scriptlet>
</jsp:scriptlet>
4 指令元素:页面指令,include指令,taglib指令
指令用来设置全局变量,声明类、要实现的方法和输出内容的类型等。它们并不向客户产生任何输出,所有的指令都在JSP整个文件范围内有效。
(1)页面指令
页面指令用来定义JSP文件中的全局属性。除了import外,其他的页面指令定义的属性/值只能出现一次。页面(page)指令语法:
<%@ page 属性="内容"%>
错误页除了可以在每个JSP页面通过errorPage以及isErrorPage指定配置外,还可以通过修改web.xml文件,在其中加入错误页的配置。全局的错误处理可以处理两种类型的错误,一种是HTTP代码的错误,如404或500;还有一种是异常的错误,如NullPointerException等。
<error-page>
<error-code>404</error-code>
<location>nofound.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>error.jsp</location>
</error-page>
(2)include指令
<%@ include file="filename"%>
静态包含指令是在JSP编译时插入一个包含文本或代码的文件,这个包含的过程是静态的,而包含的文件可以是JSP文件、HTML文件、文本文件,或是一段Java程序。
在静态包含中,会先将所包含的文件的内容导入到相应的文件中,然后再一起进行编译,最后再将一份整体的内容展现给用户,也就属于先包含,然后再将全部的代码进行集中的编译处理。
(3)taglib指令
<%@ taglib prefix="tagPrefix" uri="taglibURI" %>
5 动作元素:
(1)<jsp:param>
<jsp:param name="paramName" value="paramValue"/>
(2)<jsp:include>
动态包含,与之前的静态包含不同,动态包含语句可以自动区分被包含的页面是静还是动态。如果是静态页面,则与静态包含一样,将内容包含进来处理;如果被包含的页面是动态页面,则可以先进行动态的处理,然后再将处理后的结果包含进来。
<jsp:include page="{要包含的文件路径 | <%=表达式%>}" flush="true | false" />
(3)<jsp:forward>
(4)<jsp:setProperty>
(5)<jsp:getProperty>
(6)<jsp:useBean>