已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,第四章JSP语法(续),西南科技大学网络教育系列课程动态网页设计(JSP),内容提要,理解服务器动作指令行所有HTML文件可以在资源管理器中双击执行,介绍JSP页面的结构,但是JSP文件必须先放到Web服务器中,然后通过HTTP的方式访问。因为文件内所有内代码是被Web服务器解释执行的。,JSP的编译指令、操作指令和代码,理解服务器端执行,vardnow=newDate();dhours=dnow.getHours();dminutes=dnow.getMinutes();dseconds=dnow.getSeconds();document.write(浏览器时间:+dhours+:+dminutes+:+dseconds);,Java程序片,在Jsp中,在“”之间书写的程序代码为Java程序片在程序片中声明的变量只在页面有效,是局部变量,不能共享。,但是,在“”之间声明的变量可以在不同的客户间共享,有效范围是整个Jsp页面,声明周期是服务器关闭后变量才会被释放。,JSP表达式用来把Java数据直接插入到输出。其语法如下:%=JavaExpression%,计算Java表达式得到的结果被转换成字符串,然后插入到页面。计算在运行时进行(页面被请求时),因此可以访问和请求有关的全部信息。例如,下面的代码显示页面被请求的日期/时间:Currenttime:%=newjava.util.Date()%,Java程序片,在表达式中JSP应遵守以下规则:,实例:simpleCounterApp1.jsp,JSP表达式的内容必须是一个“完整”的Java表达式。,JSP表达式的内容必须是一个“单独的”Java表达式。,一定不能以分号结束一个Java表达式(与JSP声明不同)。,注释,JSP注释语法格式如下:-或-这种注释发送到客户端,但不直接显示,在源代码中可以查看到。,JSP另外一种注释语法格式如下:不发送到客户端。,JSP页面结构,在一个JSP页面中,主要分为三种元素:编译指令、动作指令和JSP代码。,编译指令告诉JSP的解释引擎(比如:Tomcat),需要在编译时做什么动作,比如引入一个其它的类动作指令JSP页面的使用什么语言编码等。,动作指令(操作指令)则是在JSP页面被请求时,动态执行的,比如可以根据某个条件动态跳转到另外一个页面。,JSP代码指的就是我们自己嵌入在JSP页面中的Java代码,这又分为两种:第一种是JSP页面中一些变量和方法的声明,在声明时,使用“”标记。另外一种,就是常用到的用“”包含的JSP代码块,page指令,page指令是针对当前页面的指令。page指令由“”字符串构成的标记符来指定。在标记符中是代码体,包括指令的类型和值。例如:指令告诉JSP容器将java.sql包中的所有类都引入当前的JSP页面。,编译指令,常用的page指令标记有8个:language、extends、import、errorPage、isErrorPage、contentType、isThreadSafe和session。,page指令,language设置JSP页面中用到的语言,默认值为“Java”,也是目前唯一有效的设定值。使用的语法是:。,编译指令,import设置目前JSP页面中要用到的Java类,这些Java类可能是SunJDK中的类,也有可能是程序员自己定义的类。例如:。,有些类在默认情况下已经被加入到当前JSP页面,而不需要特殊声明,包括四个类:java.lang.*;java.servlet.*;java.servlet.jsp.*和java.servlet.http.*。,page指令,extends设定目前JSP页面要继承的父类。一般情况下不需要进行设置。在默认情况下,JSP页面的默认父类是HttpJspBase。例如:当前JSP页面要继承mypackage包下的myclass类,相应的声明语句为:“”。,编译指令,errorPage用来设定当JSP页面出现异常(Exception)时,所要转向的页面。如果没有设定,则JSP容器会用默认的当前网页来显示出错信息。例如:“”,isErrorPage用来设定当前的JSP页面是否作为传回错误页面的网页,默认值是“false”。如果设定为“true”,则JSP容器会在当前的页面中生成一个exception对象。,使用errorPage指令捕获异常,当前页面是:errortest.jsp,contentType这个属性用来设定传回网页的文件格式和编码方式,一般使用“text/html;charset=GBK”。,page指令,编译指令,isThreadSafe定义JSP容器执行JSP程序的方式,默认值为“true”,代表JSP容器会以多线程方式运行JSP页面。当设定值为“false”时,JSP容器会以单线程方式运行JSP页面。,session定义当前JSP页面中是否要用到session,默认值为“true”。,include指令,include指令用来指定怎样把另一个文件包含到当前的JSP页面中,这个文件可以是普通的文本文件,也可以是一个JSP页面。例如:“”。,采用include指令,可以实现JSP页面的模块化,使JSP的开发和维护变得非常简单。,实例:includeSample1.jsp,动作指令,JSP编译指令是让JSP容器自动采取的动作,但对于Web开发人员,有些时候想要自己控制JSP页面的运行,这时可以采用JSP中的操作指令。,JSP标准动作标记标记标记标记标记,动作指令,JSP动作的作用,通过标记库定义自定义标记,实例化对象,与服务器端资源进行通信,提高组件的可重用性,增强应用的可维护性,使JSP页面可与JavaBean对象进行交互,JSP标准动作,JSP动作的语法JSP动作标记遵循XML语言的语法,具有一个名称,具有前缀jsp:,用一对尖括号()括起来,在尖括号内定义标记:,起始标记-以元素的名称开头,结束标记-以正斜线开头,后面紧跟元素名称,空标记-以元素名称开头,以正斜线结束,jsp:include指令,jsp:include标准动作用于在当前的JSP页面中加入静态和动态的资源。,语法格式为:jsp:include指令必须以“/”结束,功能和include指令大致相同。,区别:include(操作指令):编译时包括,形成一个整体include(动作):运行时包括,jsp:forward指令,jsp:forward动作指令用于把当前的JSP页面转发到另一个页面上。,基本语法为:“”,使用该功能时,浏览器的地址栏中地址不会发生任何变化。,jsp:param指令,jsp:param操作指令以标记“”开始,以“/”结束比如:。可以将jsp:forward操作指令和jsp:param操作指令结合到一起来使用。,使用jsp:param操作指令可以在执行jsp动作指令forward操作动作时,追加参数.以动作指令字/值的方式进行传递。,实例:forwardExample1.jspparamExample1.jsp,JSP语法格式如下:+textmessageforuser实例:appletExample1.jsp,JSPBean标记,与JavaBean交互的三个标记,创建一个Bean实例并指定它的名字和作用范围。JSP语法格式如下:或者初始化代码,属性以及用法,1id=beanInstanceName在所定义的范围中确认Bean的变量,使之能在后面的程序中使用此变量名来分辨不同的Bean,这个变量名对大小写敏感,必须符合所使用的脚本语言的规定,这个规定在JavaLanguage规范已经写明。如果Bean已经在别的“”标记中创建,则当使用这个已经创建过Bean时,id的值必须与原来的那个id值一致;否则则意味着创建了同一个类的两个不同的对象。,2.scope=page|request|session|application,属性以及用法,bean存在的范围以及id变量名的有效范围。缺省值是page,以下是详细说明:,page-能在包含“”元素的JSP文件以及此文件中的所有静态包含文件中使用这个Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。,request-在任何执行相同请求的Jsp文件中使用这个Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。能够使用Request对象访问这个Bean,比如request.getAttribute(beanInstanceName)。,属性以及用法,session-从创建Bean开始,就能在任何使用相同session的jsp文件中使用这个Bean。这个Bean存在于整个Session生存周期内,任何在分享此Session的Jsp文件都能使用同一Bean。注意在创建这个Bean的Jsp文件中“”指令中必须指定session=true。,application-从创建Bean开始,就能在任何使用相同application的Jsp文件中使用Bean。这个Bean存在于整个application生存周期内,任何在分享此application的Jsp文件都能使用同一Bean.,属性以及用法,3class=package.class使用new关键字以及class构造器从一个class中实例化一个bean。这个class不能是抽象的,必须有一个公用的,没有参数的构造器。这个package的名字区别大小写。,属性以及用法,JSP语法格式如下:属性:1name=beanInstanceNamebean的名字,由指定。2property=propertyName所指定的Bean的属性名。,例子,/声明引用的beantestCalendarof,设置Bean的属性值.JSP语法格式如下:/,属性,1name=beanInstanceName表示已经在“”中创建的Bean实例的名字。2property=*储存用户在jsp输入的所有值,用于匹配Bean中的属性。,3property=propertyNameparam=parameterName用一个参数值来指定Bean中的一个属性值,一般情况下是从request对象中获得的。其中property指定Bean的属性名,param指定request中的参数名。,属性,4property=propertyNamevalue=string|使用指定的值来设定Bean属性。这个值可以是字符串,也可以是表达式。如果这个字符串,那么它就会被转换成Bean属性的类型(转换方法见表4.1)。如果是一个表达式,那么它的类型就必须和将要设定的属性值的类型一致。如果参数值为空值,那么对应的属性值也不会被设定。此外,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年宁波工程学院单招综合素质考试题库附答案
- 2026年广东南华工商职业学院单招职业适应性测试题库汇编
- 方太厨具招聘真题及答案
- 2026年江西应用科技学院单招职业适应性测试必刷测试卷及答案1套
- 2026年西安汽车职业大学单招职业倾向性考试必刷测试卷含答案
- 2026年广东茂名幼儿师范专科学校单招职业适应性测试题库含答案
- 2026年黑龙江省牡丹江市单招职业适应性测试必刷测试卷带答案
- 2025年武汉大学教育发展基金会非事业编制岗位招聘参考题库含答案详解(达标题)
- 2026年阿拉善职业技术学院单招职业技能考试必刷测试卷新版
- 东方航空秋招面试题及答案
- 武汉市江岸区2024年九年级上学期《道德》期中试题与参考答案
- 楼梯扶手简易施工合同
- 【MOOC】研究生英语科技论文写作-北京科技大学 中国大学慕课MOOC答案
- 银行保安服务 投标方案(技术方案)
- JBT 1306-2024 电动单梁起重机(正式版)
- 三相交流异步牵引电机的检修与维护讲解
- 可穿戴设备与老年人健康监测的研究
- 《解读药敏报告》课件
- 《数字经济学》 课件 专题8:数字经济的统计核算研究
- 历代女子发型演变课件
- 《服务营销》期末考试试题
评论
0/150
提交评论