JSP指令
来源:互联网 发布:晋明帝 司马懿 知乎 编辑:程序博客网 时间:2024/05/22 03:42
1.简介:
JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,只是告诉引擎如何处理JSP页面中的其余部分。在JSP2.0规范中共定义了三个指令:page、include、taglib。
2.基本语法格式:
<%@ 指令 属性名=”值” %>
例如:
<%@page import="dbutils.JdbcUtlis"%>
如果一个指令有多个属性,这多个属性可以写在一个指令中,也可以
分开写。分来写不举例了,举例一个写在一起的:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
3.Page指令
这个指令用于定义JSP页面的各种属性,无论Page指令出现在JSP页面中的
什么地方,其作用域都是整个JSP页面,为了保持程序的可读性和遵循良好
的编程习惯,page指令最好是放在JSP页面的起始位置。
JSP2.0规范中定义的Page语法:
[language=”java”] –野心家的体现
[extends=”package.class”] –不用管,默认值就好
[import=”package.class|package.*”] –导入包
a) JSP引擎默认导入:
java.lang.、javax.servlet.、javax.servlet.jsp.*、
javax.servlet.http.*
b) 可以在一条page指令的import属性中导入多个类或者包,逗号分隔,
也可以分开写(默认分开写,建议分开写)。
[session="true|false"] 如果session属性为true,JSP引擎在创建这个servlet翻译类的 时候会创建session对象,false则没有(默认true)。[buffer="none|8kb|sizekb"] --页面缓冲[autoFlush="true | false"] --缓冲满了自动刷新,这个东西不用管[isThreadSafe="true|false"] --JSP页面是否是线程安全的 为false即为线程安全的,JSP翻译类会去实现SingleThreadModel 默认true。注:这个属性在JSP2.4规范中已经过期,虽然转译类依然 实现此接口,但Tomcat中只创建单实例,意味着这是线程不安全的。[info="text"] --不明所以[errorPage="错误页面URL"] --指定JSP的错误处理页面 errorPage属性的设置值必须使用相对路径,如果以"/"开头, 表示相对于当前WEB应用程序的根目录。 可以在web.xml中使用<error-page>元素为整个WEB应用程序设置 错误处理页面,其中的<exception-type>子元素指定异常类的完全 限定名(错误类型),<location>元素指定以"/"开头的错误处理页面 的路径:
<error-page> <exception-type> java.lang.ArithmeticException </exception-type> <location> /JspDirective/error.jsp </location> </error-page>
这种方式可以为web应用程序设置全局的异常处理页面,省时省力。 errorPage还有一种玩法,为状态码设置处理页面:
<error-page> <error-code>404</error-code> <location>/JspDirective/404.jsp</location> </error-page>
意思很清楚了,如果发生404就跳转到404.jsp页面。[isErrorPage="true"] --声明此页面是个异常处理页面 显式声明的好处是可以在JSP转译类中获取到Exception对象, 不声明是没有的。[contentType="mimeType [;charset=characterSet]" | "text/html" ; charset="UTF-8"] 用来告诉Tomcat这个页面的类型。MIME是描述消息内容类型的因特网标准。它能够包含文本、图像、音频、视频以及其他应用程序专用的数据。[pageEncoding="characterSet | ISO-8859-1"] 这个属性用来指定JSP转译类的编码(对应Servlet的编码)。[isELIgnored="true | false"] 告诉JSP引擎是否忽略EL表达式(默认false)。
4.include指令
include指令分为动态和静态,静态包含会把所有包含的JSP页面翻译成一个Servlet输出。
用法:
<%@include file="head.jsp" %> <p style="color: red;">这里是body!</p> <%@include file="foot.jsp" %>
注意:类似于head、foot这种JSP页面只需要保留被引入的内容即可。
动态包含:
<% request.getRequestDispatcher("head.jsp").include(request, response); %> <p style="color: red;">这里是body!</p> <% request.getRequestDispatcher("foot.jsp").include(request, response); %>
动态包含会把这个三个JSP翻译成三个servlet,在访问body时将其他JSP包含进来,运行时包含。
- jsp指令
- jsp指令
- JSP指令
- jsp指令
- JSP指令
- JSP指令
- jsp指令
- JSP指令
- jsp指令
- JSP指令
- JSP指令
- jsp指令
- JSP指令
- jsp指令
- JSP指令
- JSP指令
- JSP指令
- jsp指令
- 安卓actionbar上的搜索按钮点击没反应如何解决
- 网易云深度学习第二课Notebook3
- 第十四天 列表生成式或列表生成器
- filter web.xml
- 医学信号数据集
- JSP指令
- Java并发之Future类和Callable类详解
- OpenJDK和JDK区别
- socket编程简单示例
- filter logincontroller
- Fragment重叠问题引发的思考
- 记2017CCPC杭州站打铁经验
- 临时备忘录
- apt-get安装linux软件简单至极------一键搞定tree、g++、samba、ssh、curl等东东