JSP指令

指令是JSP语法元素的第一种类型。它们指示JSP转换器如何翻译JSP页面为Servlet。JSP定义了多个指令,但只有page和include最重要。而taglib、tag、attribute以及variable暂时不讨论

一.page指令

可以使用Page指令来控制JSP转换器转换当前JSP页面的某些方面。例如,可以告诉JSP用于转换隐式对象out的缓冲器的大小、内容类型,以及需要导入的Java类型,等。

page指令的语法如下:

<%@ page attribute1="value1" attribute2="value2" ...%>

attribute1、attribute2等是page指令的属性。如下是page指令属性的列表:

1.import:定义一个或多个本页面中将被导入和使用的Java类型。例如:import="java.util.List"将导入List接口。可以使用通配符“*”来引入整个包,类似import=“java.util.*”。可以通过在两个类型间加入“,”分隔符来导入多个类型。如:import=“java.util.ArrayList、java.io.PrintWriter”。此外,JSP默认导入如下包:java.lang、javax.servlet、javax.servlet.http、javax.servlet.jsp。

2.session:值为True,本页面加入会话管理;值为false则相反。默认值为True,访问该页面时,若当前不存在javax.servlet.http.HttpSession实例,则会创建一个。

3.buffer:以KB为单位,定义隐式对象out的缓冲大小。必须以KB后缀结尾。默认大小为8KB或更大(取决于JSP容器)。该值可以为none,这意味着没有缓冲,所有的、数据将直接写入PrintWriter。

4.autoFlush:默认为True。若值为True,则当输出缓冲满时会自动写入输出流。而值为False,则仅当调用隐式对象flush方法时,才会写入输出流。因此,若缓冲区溢出,则会抛出异常。

5.isThreadSafe:定义该页面的线程安全级别。不推荐使用JSP参数,因为使用该参数后,会生成一些Servlet容器已经过期的代码。

6.info:返回调用容器生成的Servlet类的getServletInfo方法的结果。

7.errorPage:定义出错时用来处理错误的页面。

8.isErrorPage:标识本页是一个错误处理页面。

9.contentType:定义本页面隐式对象response的内容类型,默认是text/html。

10.pageEncoding:定义本页面的字符编码,默认为ISO-8859-1。(需要改为UTF-8)

11.isELIgnored:配置知否忽略EL表达式。

12.language:定义本页面的脚本类型,默认为JAVA。

13.extends:定义JSP实现类要继承的父类。这个属性的使用场景罕见。

14.deferredSyntaxAllowedAsLiteral:定义是否解析字符串中出现的“#{”符号,默认为false。

15.trimDirectiveWhitespaces:定义是否不输出多余的空格/空行,默认为False。

例:

<%@page import="java.util.Date,java,util.ArrayList" %>
<%@page import="java.text.DateFormat" pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>

二.include指令

可以使用include指令将其他文件中的内容包含到当前JSP页面中。一个jsp页面可以有多个include指令。若存在一个内容会在多个不同的页面中使用或一个页面不同位置使用的场景,则该内容模块化到一个include文件非常有用。

include指令的语法如下:

<%@ include file="url"%>

url为包含文件的相对路径,若URL以一个斜杠(/)开始,则该URL为文件在服务器上的绝对路径,否则为当前JSP页面的相对路径。

例:

a.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'include1.jsp' starting page</title>
</head> <body>
aaaaaaa
<%--静态包含 --%>
<%-- @ include file="/b.jsp" --%>
<%--动态包含 --%>
<jsp:include page="/b.jsp"></jsp:include>
</body>
</html>

b.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'b.jsp' starting page</title>
</head> <body>
bbbbbbbbbbb
</body>
</html>

  注意:a.jsp和b.jsp必须位于相同的目录下。

JSP技术(三)的更多相关文章

  1. java的JSP技术

    java的JSP技术 [toc] 1.JSP简介 Jsp技术是用来开发java web的页面显示的,所有MVC模型里面的视图层,所以视图层的开发 jsp不是编程语言,三个英文是java server ...

  2. Servlet,jsp,JSP技术 ,JSP编程

     一.Servlet 思考 1 浏览器可以直接打开JAVA/class文件吗? 不可以 2浏览器可以打开HTML.JS 文件吗? 可以 3 JAVA程序可以生成HTML文件吗?可以的,用IO流. 4 ...

  3. Java Web之JSP技术

    JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比htm ...

  4. Jsp技术总结

    这节我们总结一下Jsp的相关技术. 1. 什么是JSP JSP即Java Server Pages,它和servlet技术一样,都是sun公司定义的一种用于开发动态web资源的技术.该技术的最大特点在 ...

  5. JavaWeb之JSP技术总结

    刚接触JSP技术的时候让我想起了在大学学的Asp+VBScript,记得当时我还用aspstudy做了一个小的新闻发布系统作为期末作品,也正是在那时候在卢哥卢老师的指导下走向编程的道路,对编程越来越感 ...

  6. JSP第三篇【JavaBean的介绍、JSP的行为--JavaBean】

    什么是javaBean JavaBean就是一个普通的java类,也称之为简单java对象–POJO(Plain Ordinary Java Object),是Java程序设计中一种设计模式,是一种基 ...

  7. Servlet组件之 jsp 技术

    JSP 简称java服务器页面(java server page),jsp和servlet实现了我们的开发需求.对于jsp技术我们首先需要知道他的组成    HTML+java+jsp内置对象=jsp ...

  8. JavaWeb:JSP技术基础

    JavaWeb:JSP技术 快速开始 介绍 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%> ...

  9. (八)JSP 技术知识点总结(来自那些年的笔记)

    目录 什么是 jsp Jsp 调用和运行原理(简略版) Jsp语法 Jsp指令简介 Page指令 Include指令 taglib指令 Jsp乱码问题 jsp运行原理(详细版) JSP中的九大隐式对象 ...

随机推荐

  1. 机器学习作业(四)神经网络参数的拟合——Python(numpy)实现

    题目下载[传送门] 题目简述:识别图片中的数字,训练该模型,求参数θ. 出现了一个问题:虽然训练的模型能够有很好的预测准确率,但是使用minimize函数时候始终无法成功,无论设计的迭代次数有多大,如 ...

  2. asm相关内容想下载(包括 jar 包)

    网址:http://download.forge.ow2.org/asm/

  3. TF file

    To software:Design rules for placement and routing interconnect resistance /capacitance data for gen ...

  4. jQuery---版本问题

    jQuery的版本 官网下载地址:http://jquery.com/download/ jQuery版本有很多,分为1.x 2.x 3.x 大版本分类: 1.x版本:能够兼容IE678浏览器 2.x ...

  5. arm-linux-gcc

    搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下编译出嵌入式Linux系统所需的操作系统.应用程序等,然后再上传到目标机上. 交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构 ...

  6. ASP.NET 模型验证2--验证部分属性

    在开发MVC时,模型验证非常常见,平常我们用的应该都是全验证 if(ModelState.IsValid){ //验证成功要做的事 .....} 但是有时候我们需要部分验证,比如修改用户信息时,因为更 ...

  7. (转)数据库分片Shard操作

    2.1.1什么是数据切分 "Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,似乎最早见于大型多人在线角色扮演游戏中."Shard ...

  8. postgreSQL生成建表语句

    参考博文:https://blog.csdn.net/xiaofengtoo/article/details/84395199 修复了其函数中的bug,支持生成包含:字段(支持数组类型字段).约束.索 ...

  9. JVM&GC详解

    1.JVM简介 JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器.它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序. ja ...

  10. POJ 3368 (ST表)

    链接:http://poj.org/problem?id=3368 题意:给出n个连续单调不递减数,q次询问,每次询问区间(L,R)出现频率最多的数,问出现了多少次 思路:因为n个数是单调不递减的,所 ...