jsp指令是为jsp引擎设计的,他们并不直接产生任何可见输出,而只是告诉引擎如何处理jsp页面中的其余部分。

jsp中的指令

page指令

include指令

taglib指令

jsp指令的基本语法 格式:<%@ 指令 属性名="值" %>
<%@page contextType="text/html;charset=gb2312" %> 如果指令中有多个属性,这多个属性可以写在一个指令中,也可以分开
<%@page contentType="text/html; charset=gb2312"%>
<%@page import="java.util.Date"%>
也可以这样写
<%@page contentType="text/html;charset=gb2312" import="java.util.Date"%>

page指令

  page指令用于定义jsp页面中的各种属性,无论page指令出现在jsp页面中什么地方,它作用的都是整个jsp页面,最好还是放在jsp的起始位置
 
page指令的属性
  
<%@ page
    [ language="java" ]
    [ extends="package.class" ]
    [ import="{package.class | package.*}, ..." ]
    [ session="true | false" ]
    [ buffer="none | 8kb | sizekb" ]
    [ autoFlush="true | false" ]
    [ isThreadSafe="true | false" ]
    [ info="text" ]
    [ errorPage="relative_url" ]
    [ isErrorPage="true | false" ]
    [ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
    [ pageEncoding="characterSet | ISO-8859-1" ]
            [ isELIgnored="true | false" ]
%>

import属性

   jsp页面中会自动的导入下面的包 java.lang.*;javax.servlet.*;javax.servlet.jsp.*; javax.servlet.http.*;
  可以在一条page指令中引入多个类或包,其中的每个包或类之间使用逗号(,)分割
  <%@ page import="java.util.*,java.io.*"%>
  也可以使用多条page指令的import属性来分别进入各个包或类
  <%@ page import="java.io.*" %>
  <%@ page import="java.sql.*"%>

errorPage属性

 errorpage属性的设置值,必须使用相对路径,如果以"/"开头,表示相对于当前的web应用程序的根目录(注意不是站点目录)
否则表示相对于当前页面。
 error-page 元素有3个子元素<error-code> <exception-type> <location> 
 error-code 子元素指定错误的状态码,例如<error-code> 404</error-code>
 exception-type 子元素指定异常类的完全限定名<exception-type>java.lang.ArithmeticException</exception-type>
 location 子元素指定以"/"开头的错误处理页面的路径<location>/ErrorPage/404.jsp</errorPage> <%@page language="java" import="java.util.*" pageEncoding="utf-8" errorPage="/error/404.jsp"%>
<html>
 <head>
   <title>错误信息友好提示!</title>
 </head>
 <body>
  对不起,出错了,请联系管理员解决!
 </body>
</html> 在web.xml使用<error-page>标签为整个web应用设置错误处理页面
<web-app version="3.0"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!--针对404错误处理页面-->
  <error-page>
     <error-code>404</error-code>
     <location>/error/404.jsp</location>
  </error-page>
</web-app>

isErrorPage属性

  该属性显示的声明页面是错误页面
  如果某一个jsp页面作为系统错误处理页面,那么建议将page指令的isErrorPage属性(默认为false)设置为ture,来显示的声明这个jsp页面是一个错误处理页面
如果没有设置isErrorPage=true。那么jsp页面中就无法使用exception对象,因为在Servlet的_jspServlet方法中不会声明一个exception对象
<%@ page language="java" import="java.util.*" pageEncoding="utf-8" isErrorPage="true"%>
<html>
 <body>
  对不起出错了!
  异常信息如下:<%= exception.getMessage()%>
   <!--语句exception.getMessage()后面没有";"-->
 </body>
</html>

include指令

 include指令有两种形式:
    @include指令
    <jsp:include>指令
@inclide指令
  @include可以包含任意文件,当然,只是把文件的内容包含进来。include指令用于引入其他jsp页面,如果include指令引入了其他的jsp页面,那么jsp引擎将把这两个JSP翻译成一个servlet.所以include指令引入通常也被称之为静态引入
 
  include指令语法
   <%@ include file="relativeURL"%> 其中file属性用于指定被引入文件的路径。路径"/"开头,表示代表当前web应用。
  include 指令细节注意问题:
   被引入的文件必须遵循jsp语法
   被引入的文件可以使用任意扩展名。即使其扩展名是html,jsp引擎也会按照处理jsp页面的方式处理它里面的内容,为了见明知意,jsp规范建议使用jspf
   由于使用include指令将会涉及2个jsp页面,并会把2个jsp翻译成一个servlet,所以这2个jsp页面的指令不能冲突。  include指令使用范例
 
head.jspf
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h1 style="color:red;">网页头部</h1>

 foot.jspf
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h1 style="color:blue;">网页尾部</h1>

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jsp的Include指令测试</title>
  </head>  
  <body>
  <%--使用include标签引入引入其它JSP页面--%>
    <%@include file="/jspfragments/head.jspf" %>
    <h1>网页主体内容</h1>
    <%@include file="/jspfragments/foot.jspf" %>
  </body>
</html>

@include指令

 使用@include可以包含任意的内容,文件的后缀是什么都无所谓。这种把别的文件包含到自身页面的@include语句就叫做静态包含,作用只是把别的页面内容包含进来,属于静态包含。

jsp:include

jsp:include 指令为动态包含,如果被包含的页面是jsp,则先处理之后再将结果包含,而如果包含的是非*.jsp文件,则只是把文件内容静态包含进来。

jsp:taglib 指令

 使用<%@ taglib uri="标签库的uri" prefix="标签的使用前缀"%>指令引入要使用的标签库。

jsp jsp常用指令的更多相关文章

  1. jsp的常用指令有哪些(编译指令/动作指令整理)

    jsp的常用指令有哪些(编译指令/动作指令整理) JSP动作指令 JSP - JSP中的脚本.指令.动作和注释

  2. JSP的常用指令有哪些?

    <% @ page %>  <% @ include %> <% @ taglib %>

  3. 牛客网Java刷题知识点之什么是JSP的3大常用指令、JSP的6大哪些动作、JSP中include指令和include动作有什么区别

    不多说,直接上干货! JSP的3大常用指令 包含指令(Include directive):用来包含文件和合并文件内容到当前的页面. 页面指令(Page directive):用来定义JSP页面中特定 ...

  4. jsp常用指令

    Jsp包含三个编译指令和七个动作指令. 三个编译指令为:page.include.taglib. 七个动作指令为:jsp:forward.jsp:param.jsp:include.jsp:plugi ...

  5. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  6. Jsp语法、指令及动作元素

    一.JSP的语法 1.JSP的模板元素:(先写HTML) 就是JSP中的那些HTML标记 作用:页面布局和美化 2.JSP的Java脚本表达式: 作用:输出数据到页面上 语法:<%=表达式%&g ...

  7. jsp七大动作指令

    jsp 七大动作指令 1) jsp:include 指令 用于在请求处理阶段包含来自一个Servlet或jsp页面的响应.和编译指令中的include不同,include只能用于包含静态页面,而jsp ...

  8. JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象

    1 什么是JSP   1)为什么说,Servlet是一个动态Web开发技术呢?     Servlet是基于服务端的一种动态交互技术,     HttpServletRequest表示客户端到服务端的 ...

  9. JSP中三大指令

    JSP指令概述 JSP指令的格式:<%@指令名 attr1=”” attr2=”” %>,一般都会把JSP指令放到JSP文件的最上方,但这不是必须的.  JSP中的指令共有三个:page. ...

随机推荐

  1. 20145307陈俊达《网络对抗》Exp9 Web安全基础实践

    20145307陈俊达<网络对抗>Exp9 Web安全基础实践 基础问题回答 1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求 ...

  2. 格子中输出|2015年蓝桥杯B组题解析第四题-fishers

    StringInGrid函数会在一个指定大小的格子中打印指定的字符串. 要求字符串在水平.垂直两个方向上都居中. 如果字符串太长,就截断. 如果不能恰好居中,可以稍稍偏左或者偏上一点. 下面的程序实现 ...

  3. keepalived主从及双主配置

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

  4. java画流程图【思路】

    java计算整数输入 <样例 画的第一张流程图 把脑子里的东西能清晰的表现出来 学编程必备

  5. Cocos2d-x学习笔记(三)main方法

    0. UNREFERENCED_PARAMETER(X)避免编译器关于未引用参数的警告. 下边代码用于屏蔽单个函数的警告: #pragma warning( push ) #pragma warnin ...

  6. MongoDB(课时22 过期索引)

    3.6.2 过期索引 在一些程序的站点会出现若干秒之后信息被删除的情况,例如:手机信息验证码,那么在MongoDB里面可以轻松实现过期索引.但这个时间往往不怎么准确. 范例:设置过期索引(实现过期索引 ...

  7. ZC_C++类函数指针_模拟_Delphi类函数指针

    ZC: C++的类函数指针 不像 Delphi的类函数指针,前者 需要规定死 是哪个类的函数的指针,后者就不需要 很灵活. 测试环境: Win7x64 cn_visual_studio_2010_ul ...

  8. c语言中的0UL或1UL是什么意思

    0UL 表示 无符号长整型 0 1UL 表示 无符号长整型 1 如果不写UL后缀,系统默认为:int, 即,有符号整数. 1.数值常数有:整型常数.浮点常数:2.只有数值常数才有后缀说明:3.数值常数 ...

  9. Android仿QQ微信开场导航以及登陆界面

    相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后 进入应用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...

  10. C#匿名对象序列化

    //匿名对象序列化 }; Console.WriteLine(JsonConvert.SerializeObject(obj)); //匿名集合序列化 List<object> list ...