JSP简介
JSP指令:
指令 | 作用 | 示例 |
---|---|---|
<%@ page %> 定义网页依赖属性 | 用于设置页面上的参数, 例如缓存、输出格式、编码格式等, 还能用于引入java的类包, 这个指令是最常用的指令。 | <%@ page contentType=“text/html” %> |
<%@ include %> 包含其他文件 | 包含指令include—— 包含指令通知JSP编译器把另外一个文件完全包含入当前文件中。 效果就好像被包含文件的内容直接被粘贴到当前文件中一样。 这个功能和C预处理器所提供的很类似。 被包含文件的扩展名一般都是"jspf"(即JSPFragment,JSP碎片) | <%@ include file=“somefile.jsp” %> |
<%@ taglib %> 引入标签库的定义 | 标签库指令taglib—— 标签库指令描述了要使用的JSP标签库。 该指令需要指定一个前缀prefix(和C++的命名空间很类似)和标签库的描述URI | <%@ taglib prefix=“myprefix” uri=“taglib/mytag.tld” %> |
– | – | – |
<%@ page %>指令里的常见属性使用:
<!-- 定义编程语言,目前仅支持Java -->
<%@ page language="java" %>
<!-- 定义响应的文件类型和编码格式 -->
<%@ contentType="text/html;charset=utf-8" %>
<!-- 定义页面的编码格式 -->
<%@ pageEncoding="utf-8" %>
<!-- 定义缓存的大小 -->
<%@ page buffer="20kb" %>
<!-- 使用此属性导入一个包 -->
<%@ page import="java.util.HashMap" %>
<!-- 定义此页面是否主动创建session对象 -->
<%@ page session="false" %>
<!-- 定义是否接收错误页面转发过来的数据,也就是定义当前是否是一个错误页面 -->
<%@ page isErrorPage="true" %>
<!-- 定义发生错误时跳转的错误页面 -->
<%@ page errorPage="error.jsp" %>
<!-- 配置信息,能够使用Servlet.getServletInfo方法得到这个配置信息 -->
<%@ page info="database handler"%>
<!-- 定义是否开启多线程 -->
<%@ page isThreadSafe="true" %>
<!-- 定义生成的java源文件中所继承的父类,一般不会去定义,而且定义的时候一定要写全名 -->
<%@ page extends="javax.servlet.http.HttpServlet" %>
<!-- 这个命令可以使jsp输出的html时去除多余的空行(jsp上使用EL和tag会产生大量的空格和空行,但是这个命令是从JSP2.1规范以后才得到支持。) -->
<%@ page trimDirectiveWhitespaces="true" %>
JSP内置对象:
JSP的内置对象共有以下九个,我们可以在JSP中通过内置对象来使用它里面的方法:
- request :实际上就是HttpServletRequest对象,详细内容参考介绍HttpServletRequest对象的文章
- response :实际上就是HttpServletResponse 对象,详细内容参考介绍HttpServletResponse对象的文章
- pageContext:
这是一个隐含对象,此对象代表jsp页面的上下文关系,能够调用、存取其他隐含对象,使用该对象可以访问页面中的共享数据,在JSP开发中并不经常使用。 - session :实际上就是HttpSession对象,详细内容参考介绍HttpSession对象的文章
- application :实际上就是ServletContext 对象,详细内容参考介绍ServletContext 对象的文章
- config :实际上就是ServletConfig对象,可以得到web.xml中的初使化参数,详细内容参考介绍ServletConfig对象的文章
- out :此对象用于输出数据、字节流。
- page :此对象代表jsp这个实体本身,即当前页面有效,相当于java中的this。
- exception :这是异常对象,代表运行时的异常。
jsp语法:
脚本程序:脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
脚本程序的语法格式:
<% 代码片段 %>
或者,您也可以编写与其等价的XML语句,就像下面这样:
<jsp:scriptlet>
代码片段
</jsp:scriptlet>
jsp声明:
jsp声明:一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。
在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式:
<%! declaration; [ declaration; ]+ ... %>
或者,您也可以编写与其等价的XML语句,就像下面这样:
<jsp:declaration>
代码片段
</jsp:declaration>
jsp表达式
jsp表达式:一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
由于表达式的值会被转化成String,所以您可以在一个文本行中使用表达式而不用去管它是否是HTML标签。
表达式元素中可以包含任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式:
<%= 表达式 %>
或者,您也可以编写与其等价的XML语句,就像下面这样:
<jsp:expression>
表达式
</jsp:expression>