java 写jsp_Java开发之JSP指令

一、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代码效果图:

5c12dcd4da5d70c822ab35eb98c4f176.png

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

29b379c8eb5d8c10a66bfd999e375b19.png

注意:在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

7cb3dc965877cca0e7bf128eee7d8f18.png

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

a0035acb5302fd3874d450a999dec2ed.png

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

effce8fa33660535436693b5def5802f.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值