一、page指令

page指令是最常用的指令,用来说明JSP页面的属性等。JSP指令的多个属性可以写在一个page指令里,也可以写在多个指令里。但需要注意的是,无论在哪个page指令里的属性,任何page允许的属性都只能出现一次,否则会出现编译错误。import属性除外,可以出现多次。属性名称区分大小写。

page指令的常见属性

属性名称

取值范围

描述

language

java

指明解释该JSP文件时采用的语言。一般为Java语言。默认为Java。

extends

任何类的全名

指明编译该JSP文件时继承哪个类。jsp为Servlet,因此当指明继承普通类时需要实现Servlet的init、destroy等方法。

import

任何包名,类名

引入该JSP中用到的类、包等。import是唯一可以声明多次的page指令属性。一个import属性可以引用多个类,中间用英文逗号隔开,如。

session

true,false

指明该JSP内是否内置Session对象。如果为true,则内置Session对象,可直接使用。否则不内置Session对象。默认为true。

autoFlush

true,false

是否运行缓存。如果为true,则使用out.println()等方法输出的字符串并不是立刻到达客户端服务器的,而是暂存在缓存里,缓存满或者程序执行完毕或者执行out.flush()操作时才到客户端。默认为true。

buffer

none或者数字+kb

指定缓存大小。当autoFlush设为true时有效,例如:。

isThreadSafe

true,false

指定是否线程安全。如果为true,则运行多个线程同时运行该JSP程序,否则只运行一个线程运行,其余线程等待。默认为false。

isErrorPage

true,false

指定该页面是否为错误处理页面,如果为true,则该JSP内置有一个Exception对象exception,可直接使用,否则没有,默认为fasle。

errorPage

某个JSP页面的相对路径

指明一个错误显示页面,如果该JSP程序抛出了一个未捕捉的异常,则转到errorPage指定的页面。errorPage指定的页面通常isErrorPage属性为true,且内置的excception对象为未捕捉的异常。

contentType

有效的文档类型

客户端浏览器根据该属性判断文档类型,例如:

HTML格式为text/html

纯文本格式为text/plain

JPG图像为image/jpeg

GIF图像为image/gif

WORD文档为application/msword

info

任意字符串

指明JSP的信息。该信息可以通过Servlet.getServletInfo()方法获取到。

trimDirectiveWhitespaces

true,false

是否去掉指令前后的空白字符。默认为false。

trimDirectiveWhitespaces=“false”(默认为false)时HTML代码效果图:

trimDirectiveWhitespaces=“true”时HTML代码效果图:

注意:在HTML文件中,空行是不影响显示效果的。但如果输出的是XML文件,则可能有问题,因为某些XML解析器不允许XML文件前面有空行。

二、include指令

1.重点说明

include指令只有一种格式:。relativeURL为本应用程序内另一个JSP文件或者HTML文件的路径。include指令用来实现JSP页面的的区块化。

2.代码实践和效果图

Head.jsp(导航栏内容)

1

2

3

4

5

6

7

8

9

My JSP 'Head.jsp' starting page

10

11

12

13

14

15

16

19

20

21

22

23

24

25

26 style="color:#FFFFFF; font-size:40px; height:60px;">

27 Hello World28

29

30

31 首页

32 百科

33 文档

34 下载

35 关于

36 邮件

37 社区

38

39

40

41

Foot.jsp(版权内容)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

19

20

21

22

23

24

25

26 Copyright 2015-2016 &copyKing

27

28

29

30

31

Include.jsp

1

2

3

4 Stringpath=request.getContextPath();5 StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";6 %>

7

8

9

10

11 ">

12

13

14

15

16

17

18

19

22

23

24

25

26

27 拉布拉多猎犬因原产地在加拿大的纽芬兰与拉布拉多省而得名。28 拉布拉多犬是一种中大型犬类,个性忠诚、大气、憨厚、温和、阳光、开朗、活泼,智商极高,也对人很友善,29 是非常适合被选作经常出入公共场合的导盲犬或地铁警犬及搜救犬和其他工作犬的狗品种,30 跟哈士奇(西伯利亚雪撬犬)和金毛猎犬并列三大无攻击性犬类,拉布拉多智商位列世界犬类第七。

31

32

33

3.include行为和include指令

JSP还提供了另一种包含文件的行为(include行为):命令。该命令与include指令使用方法基本一致。不同的是include指令是把Head.jsp和Foot.jsp的源代码添加到Include.jsp中然后再编译成一个class文件,属于先包含后编译。而include行为则是运行时单独执行Head.jsp和Foot.jsp,然后把执行结果包含到Include.jsp中,属于先运行后包含行为。

除了上面两种方法包含文件外,还可以在web.xml中通过JSP配置来包含文件。

1

2

3 /Head.jspf

4 /Foot.jspf

5

6

三、taglib指令

JSP支持标签技术。使用标签功能能够实现视图代码重用。要使用标签功能必须先声明标签库以及标签前缀。taglib指令用来指明JSP页面内使用的JSP标签库。taglib指令有两个属性,uri为类库的地址,prifix为标签的前缀。

1

2

3

4

5

6

7

8

9

10

11

java 写jsp_Java开发之JSP指令相关推荐

  1. Java游戏服务器开发之A星算法

    Java游戏服务器开发之A星算法    学习这个主要是用于寻路算法.    参考资料主要是siki学院的视频,A计划--人工智能--A星算法. 网址http://www.sikiedu.com/cou ...

  2. JAVAWEB开发之JSP、EL、及会话技术(Cookie和Session)的使用详解

    Servlet的缺点 开发人员要十分熟悉JAVA 不利于页面调试和维护(修改,重新编译) 很难利用网页设计工具进行页面设计(HTML内容导入到servlet中,用PrintWriter的对象进行输出) ...

  3. java appium_Android应用开发之AS+Appium+Java+Win自动化测试之Appium的Java测试脚本封装(Android测试)...

    本文将带你了解Android应用开发AS+Appium+Java+Win自动化测试之Appium的Java测试脚本封装(Android测试),希望本文对大家学Android有所帮助. 一.为什么需要封 ...

  4. android java设计模式,Android开发之Java设计模式基础篇

    今日我们就Android开发中的一些设计模式做一些 根底性的 主宰,本次就Android项 目标架构设计 有关内容做 综合: 1. 静态工厂 步骤 静态工厂 步骤 可以算是工厂 步骤加单例模式的整合在 ...

  5. JAVA进阶级开发之(Array工具类)

    目录 常见的算法: 1.排序算法: 2.查找算法: 3.算法: 4.冒泡排序算法(理论) 4.选择排序算法(理论) 5.数组的元素查找: 6.介绍一下java.util.Arrays工具类 我们学习数 ...

  6. java+天地图,天地图开发之Android-天地图显示

    最近开始学Android地图开发,由于做天地图api的人不多,想把自己这一段时间的劳动成果分享给大家,顺便可以一起学习.我用的版本是天地图移动API(Android)V2.1版. 1.下载天地图移动A ...

  7. JSP开发之JSP 日期处理(SimpleDateFormat格式化日期)案例了解下

    我们使用JSP最重要的优势之一,就是可以使用所有Java  API,我们这次就来看下Java中的Date类,它在java.util包下. 我们要知道Date类有两个构造函数.第一个构造函数使用当前日期 ...

  8. JSP开发之JSP 标准标签库(JSTL)之JSTL函数endsWith()函数escapeXml()函数的使用

    fn:endsWith()函数用于确定一个字符串是否以指定后缀结尾,语法如下: <c:if test="${fn:endsWith(<原始字符串>, <要查找的子字符 ...

  9. JSP开发之JSP连接数据库简单实例

    首先嘞,咱们这里有一个需要下载的jar文件: mysql-connector-java-5.1.39-bin.jar 完事之后嘞,把它放到 tomcat 下 lib 目录里,然后我们就可以来开始尝试连 ...

最新文章

  1. C语言常用算法 脚本之家,C/C++常用算法手册 秦姣华 中文pdf扫描版 22.5MB
  2. 有关YARN/MRv2 相关
  3. 10.2 梯度下降-机器学习笔记-斯坦福吴恩达教授
  4. location 匹配规则 (NGINX)
  5. C#读书笔记:线程,任务和同步
  6. li:nth-child()和 li:nth-of-type()选择器区别
  7. 【华为云技术分享】Linux内核的分布式编译(1)
  8. python threading_Python threading的使用方法解析
  9. java数组删除数组元素_如何在Java中删除数组元素
  10. 联想服务器(RD540)安装双系统
  11. 乐森 扫地机器人_扫地机器人到底好用不好用?
  12. 3DMAX导出插件编写(续)
  13. 【历史上的今天】12 月 20 日:苹果收购 NeXT;苏联超级计算机先驱诞生;《绝地求生》发布
  14. 软工实践(五)——获小黄衫有感
  15. 【入门级】学习卡尔曼滤波
  16. 神一样的美国高中作文比喻集锦
  17. 设备联网工作建设方法和步骤
  18. 运城达内java毕业生分享如何提高网站优化效率
  19. c 语言中整除的意义,整数和整除的意义
  20. 网络攻防第一次实验——搜索引擎和扫描器的使用

热门文章

  1. Spark的实战题目——寻找5亿次访问中,访问次数最多的人
  2. java设计模式--简单工厂设计模式SimpleFactoryPattern
  3. leetcode 494. Target Sum | 494. 目标和(动态规划)
  4. 密码学系列之:SAFER
  5. python代码优化无限营销软件工作室_这个教程价值有点高,利用Python制作全自动化营销软件!...
  6. elasticsearch_script_01
  7. @ComponentScan配置扫描多个包
  8. An internal error occurred while showing an internal error.
  9. java 反射获取实体类_Java 通过反射给实体类赋值操作
  10. 传统公司部署OpenStack(t版)简易介绍(七)——cinder模块部署