JSP常见的指令有哪些?(面试必备)

本文介绍了JSP中的编译指令和动作指令,包括page、include、forward等指令的使用方法及属性说明,帮助开发者更好地理解和使用JSP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Jsp包含三个编译指令和七个动作指令。

三个编译指令为:pageincludetaglib

七个动作指令为:jsp:forwardjsp:paramjsp:includejsp:pluginjsp:useBeanjsp:setPropertyjsp:getProperty

一、编译指令

1、page指令

a.通常位于jsp页面的顶端,同一个页面可以有多个page指令。语法格式如下:

%@page

[language="Java"]

[extends="package.class"]

[import="package.classIpackage.*},…"]

[session="trueIfalse"]

[buffer="noneI8kbIsizekb"1

[autoFlush="trueIfalse"]

[isThreadSafe="trueIfalse"]

[info="text"]

[errorPage="relativeURL"]

[contentType="mimeType[;charset=characterSet]"I"text/html;charset="808859-1"]

[isErrorPage="trueIfalse"]

%

1)language属性,一般情况就是java,代表jsp页面使用的脚本语言。

2)Extends属性,确定JSP程序编译时所产生的Java类,需要继承的父类,或者需要实现的接口的全限定类名。

1.import属性,用来导入包,下面几个包是默认自动导入的,不需要显式导入。默认导入的包有:

java.lang.*

javax.servlet.*

javax.servlet.jsp.*

javax.servlet.http.*

2.Session属性,设定这个JSP页面是否需要HTIPsession

3.buffer属性,指定输出缓冲区的大小。输出缓冲区的JSP内部对象:out用于缓存JSP页面对客户浏览器的输出,默认值为8kb,可以设置为none,也可以设置为其他值,单位为kb

4.autoFlush属性,当输出缓冲区即将溢出时,是否需要强制输出缓冲区的内容。设置为true时为正常输出;如果设置为false,会在buffer溢出时产生一个异常。

5.Info属性,设置该JSP程序的信息,也可以看做其说明,可以通过Servlet.getServletInfo()方法获取该值。如果在JSP页面中,可直接调用getServletInfoO方法获取该值,因为JSP页面的实质就是Servlet

errorPage属性,指定错误处理页面。如果本程序产生了异常或者错误,而该JSP页面没有对应的处理代码,则会自动调用该指令所指定的JSP页面。使用JSP页面时,可以不处理异常,即使是checked异常。(重定向到对应的错误处理页面,但是URL还是原来的URl,并不发生变化)如果这个页面不存在这个属性,那么一旦代码出现问题,就会在开发环境和IE浏览器上提示错误。可见这条属性控制异常处理的效果在表现形式上要好的多。

6.IsErrorPage属性,设置本JSP页面是否为错误处理程序。如果该页面本身己是错误处理页面,则无须使用errorPage属性。

7.ContentType属性,用于设定生成网页的文件格式和编码方式,即MIME类型和页面字符集类型,默认的MIME类型是text/html;默认的字符集为ISO-8859-1

2、include指令

使用include指令,可以将一个外部文件嵌入到当前JSP文件中,同时解析这个页面中的JSP语句(如果有的话)。这是个静态的include语旬,不会检查所包含JSP页面的变化。

include既可以包含静态的文本,也可以包含动态的JSP页面。静态的编译指令include,是将被包含的页面加入进来,生成一个完整的页面。

include编译指令的语法:

%@includefile="relativeURLSpec"%

如果被嵌入的文件经常需要改变,建议使用<jsp:include>操作指令,因为它是动态的include语句。

包含include指令的jsp页面在部署后,经过访问编译生成java文件,在tomcatwork\Catalina\localhost\project\org\apache\jsp目录下会生成对应的java文件,这些文件与jsp的名字相同,他包含了编译后的代码,甚至include包含的另外一个jsp的代码也被相应的加入了进来。

二、动作指令

1、forward指令:forward指令用于将页面响应控制转发给另外的页面。既可以转发给静态的HTML页面,也可以转发到动态的JSP页面,或者转发到容器中的Servlet

JSPforward指令的格式如下:

对于JSP1.0,使用如下语法:

<jsp:forwardpage=”{relativeURL|<%=expression%>}”/>

可使用如下语法:

<jsp:forwardpage=”{relativeURL|<%=expression%>}”>

{<jsp:param…/>}

</jsp:forward>

第二种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest类的getParameter方法获取。

2、include指令,它是一个动态的指令,可以用于导入某个页面。它的导入会每次检查被导入页面的改变。下面是include指令的使用格式:

<jsp:includepage=”{relativeURL|<%=expression%>}”flush=”true”/>

或者:

<jsp:includepage=”{relativeURL|<%=expression%>}”flush=”true”>

<jsp:paramname=”paramName”value=”paramValue”/>

</jsp:include>

flush属性用于指定输出缓存是否转移到被导入文件中。如果指定为剧。则包含在被导入文件中;如果指定为false,则包含在原文件中。对于JSP1.1以下的旧版本,只能设置为false

<include><jsp:include>分别为静态导入和动态导入。他们的的区别:静态导入是将被导入页面的代码完全插入,两个页面生成一个整体的Servlet;而动态导入则在Servlet中使用动态导入,从而将页面引入。

3、useBeansetPropertygetProperty指令

这三个指令都是与JavaBean相关的指令,其中useBean用于在jsp页面初始化一个java实例,setProperty用于修改JavaBean实例的属性,getProperty用于获取JavaBean实例的属性。

useBean的语法格式:

<jsp:useBeanid=””class=””scope=”page|request|session|application”>

IdJavaBean的实例名,class属性确定JavaBean的实现类。Scope属性确定生存范围【页面、请求、会话、应用】

setProperty的语法格式:

<jsp:setPropertyname=””property=””value=””/>

Name属性确定需要设定

4、plugin指令

plugin指令主要用于下载服务器端的JavaBeanApplet到客户端执行。由于程序在客户端执行,因此客户端必须安装虚拟机。

plugin的语法格式如下:

<jsp:plugintype=”bean|applet"

code="classFileName"

codebase="classFileDiretoryName"

[name="instanceName"]

[archive="URLtoArchive"]

[align="bottomItopImiddleIleftIright"]

[heigh="displayPixels"]

[width="displayPixels"]

[hspace="leftRightPixels"]

[vspace="topBottomPiexels"]

[jreversion=JREVersionNumber|1.2"]

[nspluginurl="URLToPlugin"]

[iepluginurl="URLToPlugin"]>

[<jsp:parames>

[jsp:paramname="parameterName"value="parameterValue"/>]

</jsp:params>]

[<jsp:fallback>textmessageforuserthatcannoseetheplugin

</jsp:fallback>]

</jsp:plugin>

这些属性的说明如下:

Type:指定被执行的java程序的类型,是一个bean还是一个applet

Code:指定被执行的文件名,该属性值必须以“.class”扩展名结尾

Codebase:指定被执行的文件目录。

Name:给该程序起一个名字用来标识该程序。

Archive:指向一些要预先载入的将要使用到的类的路径。

Hspace,Vspace:显示左右上下的留白。

jreversion:能正确运行改程序必须的JRE版本。

Nspluginieplugin:NetscapeNavigator,InternetExploer下载运行所需JRE的地址。

<jsp:fallback>指令:当不能正确显示该applet时,代替显示的提示信息。

5、param指令

param指令用于设置参数值,这个指令本身不能单独使用,因为单独使用没有意义。它可以和以下几个指令合起来使用

jsp:include

jsp:forward

jsp:plugin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值