JSP编译指令

page指令

  page指令作用于整个JSP页面,其定义了与页面相关的一些属性,这些属性将被用于和JSP服务器进行通信。

  page指令的语法如下:

  <%@ page属性1=“属性值属性2=“属性值……%>

  XML形式为:<jsp:directive.page属性1=“属性值属性2=“属性值…/>

  page指令有13个属性。

1language="scriptingLanguage"

  该属性用于指定在脚本元素中使用的脚本语言,默认值是java

2extends="className"

  该属性用于指定JSP页面转换后的Servlet类所继承的父类,属性的值是一个完整的类名。

3 import="importList"

  该属性用于声明在JSP页面中可以使用的Java类。属性的值和Java程序中的import声明类似,该属性的值是以逗号分隔的导入列表,例如:

  <%@ pageimport="java.util.Vector" %>

  <%@ page import="java.io.*" %>

  要注意的是,page指令中只有import属性可以重复使用。如果不写该属性,import默认引入以下4个包:java.lang.*javax.servlet.*javax.servlet.jsp.*javax.servlet.http.*

4session="true|false"

  该属性用于指定在JSP页面中是否可以使用session对象,默认值是true

5buffer="none|sizeKB"

  该属性用于指定out对象使用的缓冲区大小,如果设置为none,将不使用缓冲区,所有的输出直接通过ServletResponsePrintWriter对象写出。该属性的值以KB为单位,默认值是8KB

6autoFlush="true|false"

  该属性用于缓冲区满时,缓存的输出是否应该自动刷新。如果设置为false,当缓冲区溢出的时候,一个异常将被抛出。默认值为true

7isThreadSafe="true|false"

  该属性用于指定对JSP页面的访问是否是线程安全的。如果设置为true,则向JSP容器表明这个页面可以同时被多个客户端请求访问。默认值是true

8 info="info_text"

  该属性用于指定页面的相关信息,该信息可以通过调用Servlet接口的getServletInfo()方法来得到。

9 errorPage="error_url"

  该属性用于指定当JSP页面发生异常时,将转向哪一个错误处理页面。

  注意:如果一个页面通过使用该属性定义了错误页面,那么在web.xml文件中定义的任何错误页面将不会被使用。

10 isErrorPage="true|false"

  该属性用于指定当前的JSP页面是否是另一个JSP页面的错误处理页面。默认值是false

11contentType="type"

  该属性指定用于响应的JSP页面的MIME类型和字符编码,中文页面中必须要设置。例如:<%@page contentType="text/html;charset=gb2312" %>

12 pageEncoding="peinfo"

  该属性指定JSP页面使用的字符编码。如果设置了这个属性,则JSP页面的字符编码使用该属性指定的字符集,如果没有设置这个属性,则JSP页面使用contentType属性指定的字符集,如果这两个属性都没有指定,则使用字符集“ISO-8859-1”

13isELIgnored="true|false"

  该属性用于定义在JSP页面中是否执行或忽略EL表达式。如果设置为trueEL表达式将被容器忽略,如果设置为falseEL表达式将被执行。

  注意:无论将page指令放在JSP文件的哪个位置,它的作用范围都是整个JSP页面。

  为了JSP程序的可读性,以及养成良好的编程习惯,应该将page指令放在JSP文件的顶部。

include指令

  include指令用于在JSP页面中静态包含一个文件,该文件可以是JSP页面、HTML网页、文本文件或一段Java代码。使用了include指令的JSP页面在转换时,JSP服务器会在指令出现的位置插入所包含文件的文本或代码。

  include指令的语法为:

  <%@ include file="relativeURL"%>

  XML语法格式的include指令为:

  <jsp:directive.include  file="relativeURL"/>

  其中file属性值为相对于当前JSP文件的URL

例:

<%@page contentType="text/html;charset=gb2312" %>

<html>

<head><title>欢迎你</title></head>

 <body>

 欢迎你,现在的时间是

 <%@ include file="date.jsp" %>

 </body>

 </html>

 date.jsp

 <% out.println (new java.util.Date (). toLocaleString ()); %>

  • 使用include编译指令的好处:

  可以将一个复杂的JSP页面分割成若干个简单的、能进行单独处理的部分。这种方式大大增强了JSP页面的管理性和灵活性及扩展型。当要修改页面时,可以只单独对要修改的包含文件进行修改即可。

  •   注意事项:

         1)在test1.jsp中进行 <%@ include file="test2.jsp" %>出现错误。

错误为:Multiple annotations found at this line:
- Duplicate local variable path
- Duplicate local variable

解决方法:

法I:将test2.jsp中的path和basepath改为其他名字 

法II:将test2.jsp中的path和basepath删除

taglib指令

  taglib指令允许页面使用用户自定义的标记。taglib指令的语法如下:

  <%@ taglib (uri="tagLibraryURI"| tagdir="tagDir")prefix="tagPrefix"%>

  XML语法的格式为:

  <jsp:directive.taglib (uri="tagLibraryURI"| tagdir="tagDir")prefix="tagPrefix"/>

taglib指令的三个属性:

1 uri

  该属性惟一地标识和前缀(prefix)相关的标签库描述符,可以是绝对或者相对的URI。这个URI被用于定位标记库描述符的位置。

2tagdir

  该属性指示前缀(prefix)将被用于标识安装在/WEB-INF/tags/目录或其子目录下的标签文件。

3prefix

  定义一个prefix:tagname形式的字符串前缀,用于区分多个自定义标签。以jsp:jspx:java: javax:servlet:sun:sunw:开始的前缀被保留。前缀的命名必须遵循XML名称空间的命名约定。

  JSP2.0规范中,空前缀是非法的。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值