JSP指令

JSP可以通过指令元素而影响容器翻译生成java类的整体结构。

指令的语法:

<%@directive {attr="value"}* %>


其中, directive 为指令名, attr 指该指令对应的属性名,一个指令可能有多个属性。


JSP中常用的指令有三个:page、include、taglib.


1.page指令


page 指令是最为复杂的一个指令,共有 13 个属性。 page 指令作用于整个 JSP 页面,可以将指令放在 JSP 页面任何一个位置。




-

import 
 属性 
 
 
 import 
  属性 
  用来引入 
  JSP 
  文件需要使用的类。如下代码所示:
 
 
 <%@page import="java.util.*,java.io.*" %>
 <%@page import="com.etc.vo.*" %>


 上述代码可以在 JSP 文件中使用,引入需要使用的类。



 可以使用逗号同时引入多个包,也可以在一个 JSP 文件中多次使用 import 。



 值得注意的是, import 是 page 指令中唯一一个可以在一个 JSP 文件中多次出现的属性,其他属性在一个 JSP 文件中只能出现 一次。



-pageEncoding属性  



 pageEncoding 属性用来 设置 JSP 文件的页面编码格式。如下代码所示:



  pageEncoding =“utf-8"%>,上述代码设置当前JSP的页面编码格式是utf-8。



session 属性  



 session 属性用来 设置 JSP 页面是否生成 session 对象。该属性默认值为 true ,可以设置成 false 。如下代码所示:




  session属性值设置为false后,该JSP翻译生成的类中将没有内置对象session,该JSP不参 与会话。

-

errorPage 属性  


 errorPage 属性设置 JSP 页面的错误页面。当 JSP 中发生异常或错误却没有被处理时,容器将请求转发到错误页面,如下代码 所示:<%@page errorPage="error.jsp"%>This is my JSP page. <br><%=100/0%><br>



 显然,访问该页面将发生数学异常,而且并没有对异常进行处理,那么将跳转到错误页面 error.jsp



-isErrorPage属性



 isErrorPage 属性默认值是 false ,可以设置为 true 。在 JSP 的错误页面中,将 isErrorPage 设置为 true ,则该页面翻译生成的  Java 类中,将生成 exception 内置对象。在 error.jsp 中加入代码:



 <%@page isErrorPage="true"%>

 上述代码将error.jsp页面设置为错误页面,所以,在error.jsp翻译生成的Java类中的_jspService方法中将生成exception内 置对象



 注意:即使一个页面没有设置 isErrorPage =“true” ,也可以作为错误页面使用,区别在是否有内置对象 exception 内置对 象产生。



2.include指令



 include 指令是 JSP 中另外一个常用指令,用来静态包含其他页面。



 所谓静态包含,指的是在翻译期间,把包含的页面也翻译到当前页面的 Java 文件中,所谓 Java 源文件就实现“二合一”。 在 main.jsp 中编写如下代码:<%@include file="copyright.jsp"%>



 过程:翻译 main.jsp 时,会把 copyright.jsp 文件翻译插入到相应位置。