JSP文件主要由模板元素、指令元素、动作元素、脚本元素、声明、表达式、Scriptlets和JSP内建对象组成。
JSP页面构成
模板元素:模板元素是指JSP的静态HTML或者XML内容。
注释:
①HTML、XML注释
在客户端显示一个注释:<!--注释内容<%=new Date()%>-->注释中也可以添加表达式
②隐藏注释:不发给客户
<%--注释内容--%>
指令元素:指令用于从JSP发送一个信息到容器上。它用来设置全局变量,声明类,要实现的方法和输出内容的类型等。它们并不向客户端产生任何输出,所有的指令都在JSP整个文件范围内有效。
1.页面指令:用于定义全局属性
<%@ page
language="java"定义要使用的脚本语言。默认值java
contentType="text/html;charset=UTF-8" 定义JSP字符编码和页面相应的MIME类型默认值 text/html iso8859-1
pageEncoding="UTF-8"JSP页面的字符编码。默认值ISO8859-1
session="true" 指定一个HTTP会话中这个页面是否参与 默认值true
buffer="8kb" 指定到客户输出流的缓冲模式。如果是none则不缓冲,如果指定数值就用不小于这个值的缓冲区进行缓冲。与autoFlush一起用
autoFlush="true" true缓冲区满时,到客户端输出被刷新;false缓冲区满时,出现运行异常,表示缓冲溢出 。默认true
isThreadSafe="true" JSP文件是否同时处理多个用户请求。true表示支持。false表示不支持。默认值true
info="" 关于JSP页面的信息。可以使用servlet.getServletInfo()获得
errorPage="error/error.jsp" 此页面出现异常时调用的页面。默认忽略
extends=""
isELIgnored="false" 是否忽略EL表达式计算。
import="java.util.*"
%>
2.include指令:一经编译,内容不可变,改变文件内容,必须重新编译。执行效率高
<%@include file="header.jsp"%> 编译时包含 静态 会进行语法分析
关于路径:如果以/开头参照的是JSP应用的上下关系路径,如果以文件名或路径名开头就是当前路径
<jsp:include page=""> 运行时包含 静态和动态都支持 不对包含的文件进行语法分析
3.taglib指令:允许页面使用者自定义标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
表达式语言 :简化开发 ${sessionScope.test} 相当于Session.getAttribute("test")的值
脚本元素
1.声明:在JSP程序中声明合法的变量和方法
<%! String getDate(){
return new Date().toLocaleString();
}
%>
2.表达式:在JSP请求处理阶段计算它的值。
表达式必须有一个返回值或者本身就是一个对象。
<%=getDate()%>
3.Scriptlets
<%
这里写java代码
%>
动作元素
<jsp:param name="" value=""/>:为其他标签添加附加信息。通常与jsp:include、jsp:forward、jsp:plugin一起使用
<jsp:include page="fileName" flush="true"> 允许在请求时间内在现成的JSP页面里面包含静态或者动态资源
<jsp:param name="paramName" value="paramValue">
</jsp:include>
<jsp:forword page="uri" />:将请求转发到另一个JSP、Servlet或者静态资源文件。每当遇到此操作时,就停止当前的JSP,转而执行被转发的资源。
<jsp:useBean id="id" scope="page|request|response|application" typeSpec >:用来在JSP页面中创建一个Bean实例,并指定它的名字及作用范围。
id:用来表示这个实例
typeSpec可以是以下四者之一
①class=""
②class="" type="typeName"
③beanName="" type=""
④type=""
<jsp:setProperty name="beanName" propertyDetails>:用来设置Bean的简单属性和索引属性
propertyDetails是以下几个之一
property="*"
property="propertyName" param="parameterName"
property="propertyName"
property="propertyName" value="propertyValue"
<jsp:getProperty name="beanName" property="propertyName">
JSP页面构成
模板元素:模板元素是指JSP的静态HTML或者XML内容。
注释:
①HTML、XML注释
在客户端显示一个注释:<!--注释内容<%=new Date()%>-->注释中也可以添加表达式
②隐藏注释:不发给客户
<%--注释内容--%>
指令元素:指令用于从JSP发送一个信息到容器上。它用来设置全局变量,声明类,要实现的方法和输出内容的类型等。它们并不向客户端产生任何输出,所有的指令都在JSP整个文件范围内有效。
1.页面指令:用于定义全局属性
<%@ page
language="java"定义要使用的脚本语言。默认值java
contentType="text/html;charset=UTF-8" 定义JSP字符编码和页面相应的MIME类型默认值 text/html iso8859-1
pageEncoding="UTF-8"JSP页面的字符编码。默认值ISO8859-1
session="true" 指定一个HTTP会话中这个页面是否参与 默认值true
buffer="8kb" 指定到客户输出流的缓冲模式。如果是none则不缓冲,如果指定数值就用不小于这个值的缓冲区进行缓冲。与autoFlush一起用
autoFlush="true" true缓冲区满时,到客户端输出被刷新;false缓冲区满时,出现运行异常,表示缓冲溢出 。默认true
isThreadSafe="true" JSP文件是否同时处理多个用户请求。true表示支持。false表示不支持。默认值true
info="" 关于JSP页面的信息。可以使用servlet.getServletInfo()获得
errorPage="error/error.jsp" 此页面出现异常时调用的页面。默认忽略
extends=""
isELIgnored="false" 是否忽略EL表达式计算。
import="java.util.*"
%>
2.include指令:一经编译,内容不可变,改变文件内容,必须重新编译。执行效率高
<%@include file="header.jsp"%> 编译时包含 静态 会进行语法分析
关于路径:如果以/开头参照的是JSP应用的上下关系路径,如果以文件名或路径名开头就是当前路径
<jsp:include page=""> 运行时包含 静态和动态都支持 不对包含的文件进行语法分析
3.taglib指令:允许页面使用者自定义标签
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
表达式语言 :简化开发 ${sessionScope.test} 相当于Session.getAttribute("test")的值
脚本元素
1.声明:在JSP程序中声明合法的变量和方法
<%! String getDate(){
return new Date().toLocaleString();
}
%>
2.表达式:在JSP请求处理阶段计算它的值。
表达式必须有一个返回值或者本身就是一个对象。
<%=getDate()%>
3.Scriptlets
<%
这里写java代码
%>
动作元素
<jsp:param name="" value=""/>:为其他标签添加附加信息。通常与jsp:include、jsp:forward、jsp:plugin一起使用
<jsp:include page="fileName" flush="true"> 允许在请求时间内在现成的JSP页面里面包含静态或者动态资源
<jsp:param name="paramName" value="paramValue">
</jsp:include>
<jsp:forword page="uri" />:将请求转发到另一个JSP、Servlet或者静态资源文件。每当遇到此操作时,就停止当前的JSP,转而执行被转发的资源。
<jsp:useBean id="id" scope="page|request|response|application" typeSpec >:用来在JSP页面中创建一个Bean实例,并指定它的名字及作用范围。
id:用来表示这个实例
typeSpec可以是以下四者之一
①class=""
②class="" type="typeName"
③beanName="" type=""
④type=""
<jsp:setProperty name="beanName" propertyDetails>:用来设置Bean的简单属性和索引属性
propertyDetails是以下几个之一
property="*"
property="propertyName" param="parameterName"
property="propertyName"
property="propertyName" value="propertyValue"
<jsp:getProperty name="beanName" property="propertyName">