JSP页面的构成及元素的使用

     恩 这好几天有时间 可以利用闲暇的时间来写了一个项目,来回顾一起使用的技术 并对使用的该技术进行总结和归纳。

     首先创建了一个项目 项目的名称我们可以根据自己的需要进行定义。下面进入正题大笑............

     其实呢做过 java web开发的开发员基本上都用过jsp,jsp也使用的非常的广泛既然如此的广泛那我们就去认识它一下吧!

     jsp的构成呢 我主要给分了三类元素,哪三类元素呢?(接着往下看吧微笑

     jsp构成的三类元素:Java程序片,jsp自带标签和html元素构成。

    说到这有人会问了java程序片 这是个什么东西?你能说的在详细一点吗?(如果有如此疑问的我们接下来就看看 这是个什么?当然有知道的可以跳过这段接着往下看吧)。

    Java程序片:

        一般来说 jsp调用Java程序片来实现业务逻辑的计算(当然也有个别的情况,那就的根据需求的情况而定了),Java程序片有三种表现形式:实体定义、表达式、java代码块。在使用实体之前需要先对实体进行定义,下面是java程序片的定义和使用的语法格式。

     实体定义包括:定义变量、方法定义、类定义。

     定义的语法:可以在<%!和%>标记符之间定义。

   例如:

     (1)变量定义

     <%!

          int x,y=120;

          String a="China";

          Double money;

      %>

      (2) 方法定义

      <%!

          int fangfa(int n){

           int ff=1;

           ff+=1;

           return ff;

          }

       %>

        (3) 类定义

         <%!

           public class Circle{

               double r;

              Circle(double r){

                this.r=r;

               }

               double area(){

                 return Math.PI*r*r;

               }

               double zhou(){

                  return Math.PI*2*r;

               }

            }

         %>

   呵呵  一看上面的例子  大家都知道 java程序片的定义是怎么回事了吧微笑

   表达式:可以在<%=和%>标记符之间插入一个表达式,这个表法是必须能计算出数据值(注意:<%=是一个完整的符号,<%和=之间不能有空格)。

   例如:求 x=a+b+c的值。

   <%! int a=30; int b=40; int c=50;%>

   <%=a+b+c%> 客户端输出的是 120

    Java代码块:可以在<%和%>标记符之间包含多个java语句(可以是java类的代码怎么写 这个地方也可以这么写)块,jsp引擎按顺序执行这些java代码块,在java代码块中定    义的变量通过jsp引擎转译为java文件时,这些变量称为某个方法的变量,即局部变量,局部变量在本jsp页面内的所有java代码中起作用(jsp页面转译为serlvet源代码时,jsp页 面内的所有java代码块合并到同一方法中)。

如下面的例子:

    计算并输出表达式的值。

  <%! int d;%> //定义全局变量d

  <% int a=30;%> //定义局部变量a

   <%

       int  b=30; //定义局部变量b

       int  c=40; //定义局部变量c

       d=a+b+c; //计算表达式的值

       out.print(d);  //输出d的值

   %>

   本段程序有两个java代码块,变量d是全局变量,在整个jsp页面内有效,a,b,c是局部变量,在jsp页面内的所有java代码块中有效,本程序运行后输出100.


JSP标签

     一般使用jsp标签控制页面属性,JSP标签分为JSP注释、指令标签和动作标签三类,指令标签有page、include和taglib。动作标签只要有include、param、foword、plugin

useBean。

JSP注释

     注释本身不产生语句功能,只用来增强JSP文件的可读性,便于用户维护JSP文件,JSP注释分两种:HTML注释和JSP注释。

     (1) HTML注释:JSP页面使用这种注释时,客户端通过浏览器查看JSP源文件时,能够看到HTML注释文字,去语法格式是:

      <!-- 要注释的内容、文字、说明写在这里-->

   (2)JSP注释 使用这种注释时,JSP引擎编译该页面时会忽略JSP注释。

      下面是其语法格式:

       <%-- 要注释的内容、文字、说明写在这里--%>

 page 指令标签:page指令主要用来定义整个JSP页面的各种属性。一个JSP页面可以包含多个page指令,指令中,除了import属性外,每个属性只能定义一次,否则JSP页面编译将出现错误。下面是page指令格式:

      <%@ page

        [language="java"]

        [extends="classname"]

        [import="packname/classname"]

        [session="true/false"]

        [buffer="none/sizekb"]

        [autoFlush="true/false"]

        [isThreadeSafe="true/false"]

        [info="info_text"]

        [errorPage="true/false"]

        [isErrorPage="true/false"]

        [contentType="MIME_type"]

        [pageEncoding=""]

     %>

本标签由多个属性名="属性值" 对构成,通过这种方式设置页面的属性。

language属性:;language属性定义JSP页面中所使用的脚本语言。目前JSP必须使用的是java语言,因此该属性的默认值为"java" 因此也要求JSP页面的编程语言必须符合java语言规则。

   (1)Language属性设置如下:

             language="java"

             使用该属性组要注意的是,在第一次出现脚本元素之前,使用设置该属性的参数值,否则将会导致严重的错误。

    (2)extends该属性定义JSP页面产生的Servlet所继承的父类,由于该属性将限制JSP引擎提供特定的超类,这些超类可能会改善所提供服务的品质,因此在使用该属性时必须十分注意。

     (3)import 该属性和一般的java语言中的import关键字意义一样,它描述了脚本环境中要使用的类。

     (4)session 该属性指定JSP页面是否参与Http会话,它的默认值是true,表示该属性所在的页面参数与指定Http的会话。

      (5)buffer 该属性指定输出到客户端的流的缓冲模式,如果属性值为true,将不缓冲、输出直接通过ServletResponse的printWriter输出。

如果该属性值为一个数字,该数字就表示缓冲区的大小,它的单位是千字节。并且输出的大小至少不会小于这个值,通常,默认的缓冲区大小为8KB。

        (6) autoFlsh 该属性的默认值为true,表示当缓冲区满时,到客户端的输出将会自动刷新,若该属性为false,则当缓冲区满时,将会出现缓冲区溢出异常。需要注意的是,在buffer属性值去none的时候,autoFlush属性值不能设置为false。因为当butter取值为none时,表明没有设置缓冲区因而JSP页面的jspWriter本身将会自动刷新新缓冲区。

       (7) isTheadSafe 该属性用来设置JSP页面是否可以多线程使用。默认值true,如果采用默认值,则在运行JSP页面时,可能会同时接受多个客户的请求。当该属性取值为false时,一个JSP处理器将会逐个的接受客户的请求。

        (8) info 在该属性中定义了一个任意的字符串,可以用来说明JSP页面中待说明的信息,该字符串将会直接加入到 翻译好的页面中通过Servlet.getservletInfo()方法获得该属性的值。

       (9)errorPage 该属性用于表示当发生异常错误时调用的JSP页面,通常默认忽略。

         (10) isErrorPage 该属性定义了当前的JSP页面是否为另外一个JSP页面错误显示目标。

         (11) contentType 该属性定义了JSP页面及其相应的字符编码以及JSP页面响应的MIME类型。对该属性设置的格式如下:

                       "TYPE; charset=CHARSET"(需要注意的是分号后面有一个空格)

               TYPE默认值为"text/html",字符编码的默认值为ISO-88591。

        (12)该属性描述JSP页面的字符编码,通常默认值为。‘’ ISO-88591"

        (13) 该属性用来设置EL(Expression Language.表达语言,已纳入JSP2.0为标准规范之一)是否被忽略,如果取值为 true,则忽略EL表达式计算,反之则不忽略。该属性慈宁宫的默认值依据“web.xml”描述文件版本确定,Serlvet2.3以前的版本将忽略。

    include指令标签:该指令标签语法格式如下:<%@ include file="文件名字"%>

     该指令标签的作用是在该标签的位置处,静态插入一个文件,所谓静态插入指用被插入的文件内容代替该指令标签与当前JSP文件合并成新的JSP页面,在有JSP引擎转译为java文件。

   taglib指令标签:该指令用来扩展标记指令的,其语法格式如下:<%@ taglib uri="taglibURl" prefix="tagPrefix"%> 其中url是一个标记库描述器,来用唯一命名一组定制的标记,并且告诉包容器,如何出料口特殊标记。

 TagPrefix定义了JSP页面里要引用该标签时的前缀,需要注意的是,这些前缀不能再jsp、jspx、java、javax、sun、servlet和sunw。

  param动作标签:param动作标签的语法格式是:<jsp:param name="变量名字" value="变量值">

  该标签经常与jsp:incluede、jsp:forward、jsp:plugin标签一起使用,将param标签中的变量值传递给动态加载的文件。

  forward动作标签:forward动作标签的语法格式:

       <jsp:forward page=“要转向的页面”></jsp:forward> 该指令的作用是:当前页面执行到该指令处后转向其它JSP页面执行。

   plugin动作标签:

          plugin动作标签的语法格式:

               <jsp:plgin type="applet" code="applet 程序字节码文件名“ codebase="applet程序字节码文件所在目录" width="宽度">

                   <jsp:fallback>提示信息

               </jsp:plugin>

           该动作标签指示 JSP页面加载 Java plugin插件,该插件有客户负责下载,并使用该插件运行java applet小应用程序。


以下是需要注意的:

          (1)<%%>不能嵌套使用

          (2)在<%%>之间不能插入HTML语言

          (3)JSP标签都要成对使用

          (4)标签的每个属性的值要用""引用

          (5)重定向与超链接的区别:a页重定向到b页,是在a页显示b页内容;a页超链接b页,是转到b页。

时间过的挺快啊  转眼就要下班了  呵呵 今天就先写到这吧!微笑

       


 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值