JSP指令

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

JSP指令的基本语法格式:<%@ 指令 属性名="值" %>

三个指令:

  • page指令
  • Include指令
  • taglib指令

一、Page指令

JSP 2.0规范中定义的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" ]
%>

例如:

<%@  language="java" page import="java.util.*,java.io.*,java.sql.*" errorPage="/ErrorPage/error.jsp" pageEncoding="UTF-8" isErrorPage="true"%>

一般情况下exception对象在Jsp页面中是获取不到的,只有设置page指令的isErrorPage属性为"true"(默认为false)来显式声明Jsp页面是一个错误处理页面之后才能够在Jsp页面中使用exception对象。

在web.xml中使用<error-page>标签为整个web应用设置错误处理页面:

  • 可以在web.xml文件中使用<error-page>元素为整个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/404Error.jsp</location>
<?xml version="1.0" encoding="UTF-8"?>
<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> <!-- 针对500错误的处理页面 -->
<error-page>
<error-code>4500</error-code>
<location>/ErrorPage/500Error.jsp</location>
</error-page> </web-app>

500Error.jsp(定制的错误页面的size最好超过1024bytes,否则IE浏览器可能无法跳转

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>500(服务器错误)错误友好提示页面</title>
<!-- 3秒钟后自动跳转回首页 -->
<meta http-equiv="refresh" content="3;url=${pageContext.request.contextPath}/index.jsp">
</head>
<body>
<img alt="对不起,服务器出错了,请联系管理员解决!"
src="${pageContext.request.contextPath}/img/500Error.png"/><br/>
3秒钟后自动跳转回首页,如果没有跳转,请点击<a href="${pageContext.request.contextPath}/index.jsp">这里</a>
</body>
</html>

二、include指令

语法:<%@ include file="relativeURL"%>,其中的file属性用于指定被引入文件的路径。路径以“/”开头,表示代表当前web应用。

把别的文件内容包含到自身页面的<j@include>语句就叫作静态包含。

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

三、taglib指令

<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>

<% @ taglib %>指令声明此JSP文件使用了自定义的标签,同时引用标签库,也指定了他们的标签的前缀

最新文章

  1. jsp
  2. Html5 杂记
  3. js自定义对象
  4. 进阶版css的点滴
  5. C#通过ODBC查询HANA数据库数据
  6. Java学习-040-级联删除目录中的文件、目录
  7. poj1128 拓扑序(DFS)
  8. 寒哥教你学 iOS - 经验漫谈(转)
  9. hdu 4277 USACO ORZ (暴力+set容器判重)
  10. javascript两种定时器的使用及其清除
  11. using 关键字给类和名称空间指定别名
  12. Android开发_关于如何屏蔽Home键
  13. leetcode第一刷_Convert Sorted List to Binary Search Tree
  14. LeetCode OJ 107. Binary Tree Level Order Traversal II
  15. C语言,使用宏来传数字参数
  16. PAT All Roads Lead to Rome 单源最短路
  17. typescript中的接口
  18. svn打分支和合并操作
  19. 46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)
  20. weblogic的web.xml报错----Malformed UTF-8 char -- is an XML encoding declaration missing

热门文章

  1. java代码实现JVM栈溢出,堆溢出
  2. 面试代码基础(一)从strstr说起
  3. cocos2d-x入门一
  4. hiho#1080 更为复杂的买卖房屋姿势 线段树+区间更新
  5. js 捕获型事件
  6. 项目管理工具:Maven
  7. Stretch的Uniform和UniformToFill
  8. angular directive restrict 的用法
  9. 负载均衡,会话保持,session同步
  10. 使用Idea工具nodeJS+mysql开发项目