JSP指令指示JSP转换器如何翻译JSP页面到Servlet;JSP指令用来设置整个JSP页面相关的属性,如网页编码方式、脚本语言等

JSP指令的格式:

  1. <%@ directive attribute="value" attribute="value" attribute="value" %>
  2. 属性以键值对的形式存在,多个属性用空格分割

常用的三个指令:

  1. <%@ page ... %> page指令控制JSP转换器转换当前JSP页面的某些方面
  2. <%@ include ... %> include指令将其他文件中的内容包含到当前的JSP页面
  3. <%@ taglib ... %> taglib指令用于引入标签库并设置标签库的前缀

page指令

大部分page指令可以出现在页面的任何位置,但当page指令包含contentType或pageEncoding属性时,其必须出现在Java代码发送任何内容之前。这是因为内容类型和字符编码必须在发送任何内容前设定。

page指令可以出现多次,但多次出现的指令属性必须具有相同的属性值,不过import属性例外,多个import属性的属性值效果是累加的。

  1. <%@ page language="Java" %> 定义当前页面的脚本语言类型,JSP2.2中只有一个唯一合法值“Java”。
  2. <%@ page import="..." %> 定义一个或多个当前页面中将被导入和使用的java类型。取值范围为任何包名、类名
  3. <%@ page session="..." %> 定义当前页面是否启用会话管理,True为启用,False为不启用;默认是True。取值范围为True、False
  4. <%@ page buffer="..." %> 定义隐式对象out的缓冲大小,必须以KB后缀结尾。默认是8KB或更大(取决于JSP容器)。该值可以为none,表还没有缓冲,所有数据将直接写入PrintWriter。取值范围为数字KB、none
  5. <%@ page autoFlush="..." %> 定义输出缓冲满时是否自动写入输出流,True为自动,False为不自动,需要调用隐式对象out的flush()方法,若缓冲溢出会抛出异常。取值范围为True、False
  6. <%@ page isThreadSafe="..." %> 定义当前页面是否线程安全,不推荐使用,因为使用该参数后会生成一些Servlet容器已过期的代码。取值范围为True、False
  7. <%@ page info="..." %> 指明JSP信息,该信息可通过调用容器生成的Servlet类的getServletInfo()方法获取。取值范围为任意字符串
  8. <%@ page errorPage="..." %> 指明一个错误页面,当JSP程序抛出一个未捕获的异常时则跳转到该错误页面。取值范围为某个JSP的相对路径
  9. <%@ page isErrorPage="..." %> 标识当前页面是一个错误处理页面。取值范围为True、False
  10. <%@ page contentType="..." %> 定义当前页面隐式对象reponse的内容类型,默认为“text/html”。取值范围为任意有效的文档类型
  11. <%@ page pageEncoding="..." %> 定义当前页面的字符编码,默认为“ISO-8895-1”。
  12. <%@ page isELignored="..." %> 定义是否忽略EL表达式。默认是False。取值范围为True、False
  13. <%@ page extends="..." %> 定义JSP实现类要继承的父类,默认为“HttpJspBase”。
  14. <%@ page deferredSyntaxAllowedAsLiteral="..." %> 定义是否解析字符串中出现的“#{”字符(该字符是EL的起始字符),默认为False。取值范围为True、False
  15. <%@ page trimDirectiveWhitespaces="..." %> 定义是否去除指令前后的空白字符,默认为False。取值范围为True、False

一个例子

  1. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

include指令

将其它文件中的内容包含到当前JSP页面中。一个JSP页面可以包含多个include指令。其语法如下:

  1. <%@ include file="url"%>

url可以是被包含文件的相对路径,也可以被包含文件在服务器上的绝对路径(以“/”开头)

JSP容器处理include指令时,会将include指令替换为所包含文件的内容。(跟C语言中的宏替换类似)

注意,最好指明被包含文件的编码,否则可能会出现中文乱码

一个例子:

  1. <!-- 文件名为:123.jsp -->
  2. <%@ page pageEncoding="utf-8"%>
    <hr />
  3. 被包含文件的内容
  4. <hr />
  5.  
  6. <!-- 使用include指令 -->
  7. <html>
  8. <head>
  9. </head>
  10. <body>
  11. <%@ include file="123.jsp"%>
  12. 这是一个例子
  13. <%@ include file="123.jsp"%>
  14. </body>
  15. </html>
  16.  
  17. <!-- 效果 -->
  18. <html>
  19. <head>
  20. </head>
  21. <body>
  22. <hr />
  23. 被包含文件的内容
  24. <hr />
  25. 这是一个例子
  26. <hr />
  27. 被包含文件的内容
  28. <hr />
  29. </body>
  30. </html>

taglib指令

用于指明JSP页面内使用的JSP标签库,

taglib只有两个属性:

  1. uri属性用来指定标签文件或标签库的存放位置,
  2. prefix属性用来指定该标签使用的前缀

在JSP页面中使用JSTL库,必须通过以下格式使用taglib指令

  1. <%@ taglib uri="tttp://java.sun.com/jsp/jstl/core" prefix="c" %>
  2. <%@ taglib uri="tttp://java.sun.com/jsp/jstl/xml" prefix="x" %>
  3. <%@ taglib uri="tttp://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  4. <%@ taglib uri="tttp://java.sun.com/jsp/jstl/sql" prefix="sql" %>
  5. <%@ taglib uri="tttp://java.sun.com/jsp/jstl/functions" prefix="fn" %>

JSP指令(page include taglib)的更多相关文章

  1. [原创]java WEB学习笔记16:JSP指令(page,include),JSP标签(forwar,include,param)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  2. JSP page include taglib

    page include taglib 语法:<%@ 指令名称 属性=值 属性=值 -%> ------------------- page 1.language 默认值java 2.ex ...

  3. JavaWeb学习笔记--2.jsp指令元素、动作元素、内置对象

    目录: 一.指令 1.1 page指令 :page指令有13种属性 1.2 include指令:include指令有1种属性,为file.(注意<%@ include%>和<jsp: ...

  4. 复习:JSP基本的语法(JSP凝视 + JSP指令 + JSP脚本元素 + JSP动作元素)

    JSP原理: 1.    对于每个请求.jsp容器都会创建一个新的线程来处理它: 2.    Servlet容器载入jsp后转换成的servlet(.class文件)是常驻内存的,所以对应速度一般比較 ...

  5. 【JSP】JSP指令

    JSP指令 说明: 1.JSP指令用于告知JSP 引擎转译JSP时的转化参数,他们不产生输出信息,只是在JSP的转译和编译期间起作用.  2.JSP指令必须写在规定的格式中:  <%@  [go ...

  6. EL表达式.jsp指令等

    1.JSP标准指令:<%@ 标准指令(属性 )%><%@ page %><%@ include %><%@ taglib %> 2.JSP程序代码元素: ...

  7. JSP指令 & 中文乱码问题

    1. JSP 指令: JSP指令(directive)是为JSP引擎而设计的,     它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的其余部分. 2. 在JSP 2.0中,定义了 ...

  8. Javaweb学习笔记——(十二)——————JSP指令:page指令、include指令、taglib指令,JavaBean,内省,EL表达式

    JSP指令JSP指令分类 JSP有三大指令: *page指令 *include指令 *taglib指令 在JSP中没有任何指令是必须的. 但基本上每个JSP都是使用page指令============ ...

  9. JSP三大指令(Page指令,include指令,taglib指令)

    参考文章: https://www.runoob.com/jsp/jsp-directives.html http://c.biancheng.net/view/1458.html https://b ...

随机推荐

  1. 2018面向对象程序设计(Java)第12周学习指导及要求

    2018面向对象程序设计(Java)第12周学习指导及要求 (2018.11.15-2018.11.18)   学习目标 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌 ...

  2. 对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(JAVA)第四周学习总结”存在问题的反馈 “这部分同学博文总结没有写,实验作业没有提交.”——1.关于博文作业.实验作业教学功能的正解:学习知识.暴露问题.衔接课上.2 ...

  3. Fixation index

    :或者1.简单介绍 固定指数(FST)是一种由遗传结构决定的种群分化指标.它通常是由遗传多态性数据,如单核苷酸多态性(SNP)或微卫星估计.作为莱特f统计的一个特例,它是种群遗传学中最常用的统计方法之 ...

  4. http4e eclipse plugin 插件介绍

    感谢作者的分享: http://blog.csdn.net/wiker_yong/article/details/10066905 以及作者的破解jar.目前看网站留言说已经git了. 官网链接地址: ...

  5. day24 面向对象三大特性之封装

    本周内容 组合 封装 多态 面向对象高级 异常处理 网络协议 通讯原理 互联网协议 TCP/UDP 基于TCP协议的套接字 上周回顾 1.xml,os,os.path 2.ATM+购物车 三层结构 3 ...

  6. because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled

    spring security 配置问题,静态资源未被允许访问

  7. 【scrapy】其他问题2

    今天爬取豆瓣电影的是时候,出现了两个问题: 1.数据无法爬取并输出Retrying <GET https://movie.douban.com/robots.txt> 看起来像是被拦截了. ...

  8. 数论----gcd和lcm

    gcd即最大公约数,lcm即最小公倍数. 首先给出a×b=gcd×lcm 证明:令gcd(a,b)=k,a=xk,b=yk,则a×b=x*y*k*k,而lcm=x*y*k,所以a*b=gcd*lcm. ...

  9. CentOS 安装Oracle

    转自----------------https://www.cnblogs.com/startnow/p/7580865.html 环境:VM12+centos7 x86_64 minimal - 最 ...

  10. 条件编译ifndef、ifdef、endif

    1.条件编译命令最常见的形式为: #ifdef 标识符 程序段1 #else 程序段2 #endif 当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2.  ...