面指令
b. <%@ taglib uri="" prefix="" %> taglib 指令
c. <%@ include file="" flush="true|false" %> include指令
其中每一种指令中又包含了很多不同的属性,后面会进行介绍
三, 动作 [Action]
常用‘动作’如下几种:
. . .
下面我们来分别介绍以上介绍的各种JSP标签,指令,动作
1。 表达式 <%= . . .%>
发生在执行阶段,可以使用隐式对象!
表达示被计算并转换成字符串输出。
注:表达式不是一条JAVA语语,故不能以‘分号’ ‘;’结尾。
例:
Random Number:<%= java.util.Math.random() %>
Vistit implicit Object:<%= request.getRemoteHost() %> //request 就是一个隐式对象
2. scriplets 代码片断
发生在执行阶段,可以使用隐式对象
<% java Code %>
当然,也可以使用另一种形式:
java Code 注: 代码片段中所包含的是完整的JAVA语句,注意要以分号’;‘结尾。
例子:
<%
java.util.Date d = new java.util.Date();
out.println("
current Date was:"+d+"
");
%>
3. Declaration 申明
在 _jspService() 方法外面,不能访问隐式对象!
<%! method or variable declaration code %>
or
. . . 4. Directives 指令
发生在转换阶段,也在 _jspService() 方法外面,不能使用隐式对象
. 指令能够引影响JSP容器产生SERVLET的结构
. 它不会产生输出到当前
浏览的输出流中。
<%@ directive {attr="value"}* %>
or
例:
<%@page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
a. The page Directive 页面指令
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page isErrorPage="true|false" %> 默认为 false
<%@ page errorPage="error.jsp" %> 要求上面的属性为 true
<%@ page info="your first JSP PAGE" %>
<%@ page pageEncoding="UTF-8" %>
<%@ page isELIgnored="true|false" %> 默认依靠
web.xml version
<%@ page buffer="none|xxxkb" %> default is 8kb
6. The include Directive 包含指令
语法:<%@ include file="/view/error.jsp" %>
可以采用相对路径或者绝对路径
xml 形式:
例:
<%@ include file="banner.html" %>
7. The Include Action 包含动作:
[注: 导入的代码段或页面不能设置或改变响应首部,所以被导入
Servlet或JSP中任何试图对内容类型(content type)的设置,
如:
<%@ page contentType="text/xml" %>
都将被忽略.
发生在JSP执行阶段, 可以使用隐式对象
语法;
// default is 'false'
如果 flush 为 false:表示满了就发, true, 写了就发
如如要带参数:
TIP:在此,我们发现有两个’包含‘ 一个静态包含(include指令)和动态包含(include 动作)
区别:
静态包含:不会把被包含的页面转换成JSP(Scriplet) 只是静态地导入所包含文件的所有内容。
动态包含:会把所包含的页面转换成JSP(最络编译成SERVLET),再把执行结果返回给调用它的页面。
可以通过查看 $CATALINA_HOME/work/catalina/localhost/${webapp}/org/apache/jsp 目录下有无对应的.java文件
例子:
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%@ include file="banner.html" %>
date.jsp:
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;