zoukankan      html  css  js  c++  java
  • [03] JSP指令


    1、概述

    JSP指令用于“转换阶段”提供整个JSP页面的相关信息,影响由JSP页面生成的Servlet的整体结构指令不会产生任何的输出到当前的输出流中。

    指令的基本语法为:
    <%@ directive {attr="value"}* %>  

    其中,directive表示指令名,attr则表示该指令对应的属性名,一个指令可能有多个属性。而JSP中常用的指令有三个:page、include、taglib

    2、page指令

    page指令作用于当前整个JSP页面,可以放在页面的任意位置。其属性共有13个,下面展开常用属性:

    import属性:用来引入JSP文件需要使用的类
    • e.g. <%@page import="java.util.*, java.io.*" %>
    • 使用逗号可以同时引入多个包,也可以分别多次使用import
    • import是page指令中唯一一个能在JSP文件多次出现的属性

    pageEncoding属性:用来设置JSP文件的页面编码格式
    • e.g. <%@page pageEncoding="utf-8" %>
    • 上例表示设置当前JSP的页面编码格式为UTF-8

    session属性:用来设置JSP页面是否生成session对象,默认值为true
    • e.g. <%@page session="false" %>
    • session属性为false后,该JSP翻译后的Java类中将没有内置对象session

    errorPage属性:设置JSP页面的错误页面
    • e.g. <%@page errorPage="error.page" %>
    • 如标有上例指令的JSP页面,若页面中出现异常未处理,则请求会转发到错误页面
    • 可以理解为JSP翻译后的Java类执行过程发生异常,则请求跳转到错误页面去

    isErrorPage属性:错误页面是否生成内置对象exception,默认值为false
    • e.g. <%@page isErrorPage="true" %>
    • 将需要跳转达到的错误页面,设置上述指令,则在翻译后的Java类中会生成exception内置对象
    • 即使一个页面没有设置isErrorPage也可以作为错误页面使用,区别在于是否有exception内置对象

    3、include指令

    e.g. <%@include file="head.jsp" %>

    include指令用来静态包含其他页面。所谓静态包含,即在翻译期间,把包含的页面也翻译到当前页面的Java文件中。

    需要注意的是,file属性表示的是文件的名称,而不是请求地址,所以不能当成url进行传参,如 <%@include file="head.jsp?param=xxx" %> 的方式是错误的。

    4、taglib指令

    taglib指令用来声明用户使用的自定义标签,将标签库描述符文件导入到JSP页面中。

    简单地说,在JSP中使用的都是HTML的标签,浏览器可以解析运行,而我们也可以在JSP中自定义一套自己的标签进行使用,达到JSP文件结构简练,可读性强,维护性强等目的。而如何将自定义标签导入到JSP中声明并使用,则需要使用到taglib指令。

    形如 <%@taglib uri="xxx" prefix="xxx" $>,其中:
    • uri属性用来描述标签资源的定位标记(自定义标签tld文件中定义的唯一标记)
    • prefix属性则是前缀,可以在声明时自定义,在一个JSP中可以引入多个标签库,但各前缀不能重复

    taglib指令涉及到自定义标签的知识点,之后的内容会写到,此处作为JSP指令的介绍,则不再详细展开。

  • 相关阅读:
    第七次作业
    Beta敏捷冲刺每日报告——Day5
    Beta敏捷冲刺每日报告——Day4
    Beta敏捷冲刺每日报告——Day3
    Beta敏捷冲刺每日报告——Day2
    Beta敏捷冲刺每日报告——Day1
    MyGod--Beta版本前期报告
    第六次作业
    游标的使用
    Hadoop科普文——常见的45个问题解答
  • 原文地址:https://www.cnblogs.com/deng-cc/p/8383861.html
Copyright © 2011-2022 走看看