jsp/servlet相关技术 (三) --- jsp编译指令与动作指令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dltsbydh/article/details/47681135

一、jsp的编译指令

        jsp的编译指令是通知jsp引擎的消息,它不知直接生成输出。编译指令都有默认值。

        常见的编译指令有3个:

                1、page:该指令是针对当前页面的指令

                2、include:用于指定包含另一个页面

                3、taglib:用于定义和访问自定义标签

        1、page指令

         page指令通常位于页面顶端,一个jsp页面可以使用多条page指令。其语法格式如下:

   

          page指令各个属性的含义:

                    language:声明当前jsp页面使用的脚本语言的种类,因页面时jsp页面,该属性的值通常为java,默认值也是java,所以通常无需设置。

                    extends:指定jsp页面编译所产生的java类所继承的父类,或所实现的接口。

                    import:用来导入包。下面几个包是默认自动导入的:java.lang.*、javax.servlet.jsp.*、javax.servlet.http.*。

                    session:设定这个jsp页面是否需要HTTP session。

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

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

                    info:设置该接视频程序的信息,也可以看做其说明,可以通过servlet.getservletinfo()方法获取该值。如果在jsp页面中,可以直接调用getservlet()方法获取该值,因为jsp页面的实质就是servlet。

                   errorpage:指定错误处理页面。如果本页面产生了异常或错误,而该jsp页面没有对应的处理代码,则会自动调用该属性指定的jsp页面。

                   iserrorpage:设置本页面是否为错误处理程序。

                   contenttype:用于设定生成网页的文件格式和编码字符集,即MIME类型和页面字符集类型,默认的MIME类型是text/html;默认的字符集类型是ISO-8859-1。

                   pageencoding:指定生成网页的编码字符集。

         2、include指令

         使用include指令,可以将一个外部文件嵌入到当前jsp文件中,同时解析这个页面的jsp语句。这是个静态的include语句,它会把目标页面的其它编译指令也包含进来,但动态include则不会。

         include既可以包含静态的文本,也可以包含动态的jsp页面。静态的include编译指令会将被包含得页面加入本页面,融合成一个页面,因此被包含页面可以是一个不完整的页面。

         include编译指令的语法如下:

         <%@ include  file = "url" %>

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

         注意:静态包含还会将被包含页面的编译指令也包含进来,如果两个页面的编译指令冲突,那么页面就会出错。

二、jsp的动作指令

        动作指令与编译指令不同,编译指令是通知servlet引擎的处理信息,而动作指令只是运行时的动作。编译指令在将jsp编译成servlet时起作用,而处理指令通常可以替换成jsp脚本,它只是jsp脚本的标准化写法。

        jsp的动作指令主要有7个:

                 jsp:forward:执行页面转向,将请求的处理转发到下一个页面。

                 jsp:param:用于传递参数,必须与其它支持参数的标签一起使用。

                 jsp:include:用于动态引入一个jsp页面。

                 jsp:plugin:用于下载javabean或applet到客户端执行。

                 jsp:usebean:创建一个javabean实例。

                 jsp:setproperty:设置javabean实例的属性值。

                 jsp:getproperty:输出javabean实例的属性值。

        1、forward指令

        forward指令用于将页面响应转发到另外的页面。既可以转发到静态的HTML页面,也可以转发到动态的jsp页面,或者转发到容器中的servlet。

        jsp的forward指令格式:

        <jsp:forward  page="" >

                <jsp:param ..../>

        </jsp:forward>

        <jsp:param.../>为转发时增加额外的请求参数。增加的请求参数的值可以通过httpservletrequest类的getparameter()方法获取。

      

         2、include指令

         include指令是一个动态include指令,也用于包含某个页面,他不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入本页面。

         其格式如下:

         <jsp:include  page = ""     flush=" ">

                  <jsp:param  name=" “ value=" ">

        </jsp:include>

        flush属性用于指定输出缓存是否转移到被导入文件中。如果为true,则包含在被导入文件中,为false,包含在旧文件中。

        静态导入与动态导入的区别有三点:

                1、静态导入是将被导入页面的代码完全融入,两个页面融合成一个servlet,而动态导入则在servlet中使用include方法来引入被打入页面的内容。

                2、静态导入时被导入页面的编译指令会起作用,动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。

                3、动态包含还可以增加额外的参数。

       3、usebean、setproperty、getproperty

       这三个指令都是与javabean相关的指令,其中usebean指令用于在jsp页面初始化一个java实例;setproperty指令用于为javabean实例的属性设置值;getproperty指令用于输出javabean实例的属性。

       usebean的语法格式:

       <jsp:usebean  id=" "  class=" " scope = " " />

       其中,id属性是javabean的实例名,class属性确定javabean的实现类,scope属性用于指定javabean实例的作用范围,该范围有4个值:

               1、page:该javabean实例仅在该页面有效

               2、request:该javabean实例仅在本次请求有效

               3、session:该javabean实例仅在本次session有效

               4、application:该javabean实例仅在本应用中一直有效

       setproperty指令的语法格式:

       <jsp:setproperty  name = " "  property = " " value=" " />

       其中,name属性确定需要设定javabean的实例名,property属性需要设置的属性名,value属性需要设定的属性值。

       getproperty指令的语法格式:

       <jsp:getproiperty  name="  "  property="  " />

       其中,name属性为需要输出的javabean的实例名,property属性为需啊哟输出的属性名。

      

       4、plugin指令

       plugin指令主要用于下载服务器端的javabean或applet到客户端执行。

       5、param指令

       param指令用于设置参数值,param指令可以与以下三个指令结合使用:

       <jsp:include>   <jsp:forward>  <jsp:plugin>

    

猜你喜欢

转载自blog.csdn.net/dltsbydh/article/details/47681135
今日推荐