![[计算机软件及应用]JSP教程 JSP语法.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/23/572a9dca-5157-4500-95e7-1fff20988580/572a9dca-5157-4500-95e7-1fff209885801.gif)
![[计算机软件及应用]JSP教程 JSP语法.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/23/572a9dca-5157-4500-95e7-1fff20988580/572a9dca-5157-4500-95e7-1fff209885802.gif)
![[计算机软件及应用]JSP教程 JSP语法.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/23/572a9dca-5157-4500-95e7-1fff20988580/572a9dca-5157-4500-95e7-1fff209885803.gif)
![[计算机软件及应用]JSP教程 JSP语法.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/23/572a9dca-5157-4500-95e7-1fff20988580/572a9dca-5157-4500-95e7-1fff209885804.gif)
![[计算机软件及应用]JSP教程 JSP语法.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/23/572a9dca-5157-4500-95e7-1fff20988580/572a9dca-5157-4500-95e7-1fff209885805.gif)
已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 JSP基本语法,一、JSP基本元素,一个完整的JSP程序一般包含JSP代码和HTML代码两部分,JSP代码嵌入在HTML代码中间。 JSP代码一般指Java程序片和JSP标签。 一个JSP页面可由以下四种元素构成: 模板元素 脚本元素 指令元素 动作元素,二、模板元素,模板元素主要指普通HTML标签、HTML注释等 基本标签 、-、 字符格式化 、 常用表单元素 单行文件本框 (“text”) 密码框(“password”) 单选按钮(“radio”) 复选按钮(“checkbox”) 重置按钮(“reset”) 提交按钮(“submit”) 文本域() 表格 、 详见“HTML主要标签及含义”:/s/blog_54eb9d9e01000935.html,三、脚本元素,JSP脚本元素是用来嵌入Java代码的 主要包括声明、表达式、Scriptlet三种。,声明,声明是指在JSP程序中定义变量和方法,声明后的变量和方法可以在JSP页面的任意地方使用。 声明放在“”标记符号间,使用格式如下: 如: 说明: ”之间定义的变量和方法是全局(静态)的;多个用户请求同一个JSP页面时,各用户共享成员变量(的值)。,表达式,表达式是获取变量的值或方法的返回值,并把结果在JPS页面上输,表达式在页面的位置即是结果输出位置。 在“”之间插入表达式,使用格式如下: 如: /获得变量i的值 /获得方法的返回值 说明: 在之间不可插入语句,表达式后没有“;”; 表达式必须能求值,其值由服务器负责计算,将计算结果以字符串的形式返回并插入到JSP页面的相应位置。,表达式示例, Sin(0.9)除以3等于 3的平方是: 12345679乘72等于 5的平方根等于 99大于100吗?回答: 100% ,程序段:Scriptlet,Scriptlet即是Java程序片段,它可以包含任意的Java代码,实现复杂的操作和控制。 在“”之间插入Java程序片段,使用格式如下: 如: 说明: (1) 一个JSP页面可以有许多Java程序片,JSP引擎顺序执行这些程序片。可以把一个程序片拆分成几个更小的程序片,然后在这些小的程序片之间插入JSP页面的一些其他标记元素。 (2) ”之间定义的变量和方法是局部(动态)的;多个用户请求同一个JSP页面时,各用户间没联系(分别拥有各自的局部变量)。,程序段Scriptlet示例, 你好 , 你好 你好 ,声明中定义的变量是全局变量,运行程序,i的值不断增加 您是第 个访问本站的客户。 ,程序片中定义的变量是局部变量,每次运行,i总是1 您是第 个访问本站的客户。 ,全局变量与局部变量的对比:计数器程序,课堂练习,求110的平方及平方根(求平方根的方法:Math里的sqrt() 方法)。并在浏览器中以表格的形式输出。,简单表格示例: 这是一行一列 这是一行二列 这是二行一列 这是二行二列 ,四、指令元素,JSP指令的主要作用是和JSP引擎之间进行沟通,JSP指令发送消息到服务器端,并不向客户端产生任何输出。所有的指令都在JSP整个文件范围内有效。 在“”之间插入JSP指令,使用格式为: 说明: 属性值总是用双引号或单引号括起来; 属性之间用空格分隔,不需要任何标点。 JSP中主要有以下3种指令标签: page指令 include指令 taglib指令,Page指令,在JSP页面中,可以通过页面指令page来定义整个JSP页面的属性,通过这个指令定义的属性会对该JSP文件以及静态包含进来的页面起作用。 使用格式为: page指令可以设置的属性有: import、contentType、isThreadSafe、session、buffer、autoflush、extends、info、errorpage、isErrorpage、language、pageEncoding。 /各属性含义见书p87,page指令,说明: page指令可放在JSP的文件的任何地方,但为了增加程序的可读性,习惯上放置在页面的前面; page指令作用于整个JSP页面,包括静态的包含文件;但是指令不能作用于动态的包含文件 可以在一个页面中用上多个page指令,但其中的属性只能用一次,有个例外是import属性,可以出现多次,用于导入多个Java类。,page指令属性值,import属性 import属性导入JSP页面中使用的Java类,一个import属性可以导入多个Java类,中间用逗号隔开。 例如: 上述代码也可以写成: 下面的包在JSP编译时已经导入了,所以就不需要再指明了: java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*,page指令属性值,contentType属性 contentType属性指定返回浏览器的内容类型属性值可以是text/plain(纯文本文件)、text/html (纯文本的HTML页面) 、application/x-msexcel(Excel文件)、 application/x-msword(Word文件) contentType属性还可以指定返回浏览器的内容的字符编码格式。可以是ISO8859-1(英文,默认),或GB2321(中文) 例如,如果需要在返回浏览器的HTML页面中使用中文字符,可以使用下列page指令: ,page指令属性值,errorPage属性 errorPage属性指定错误或异常处理页面,当页面执行出现异常或错误时,浏览器显示该属性指定的页面。例如: isErrorPage属性 指定当前页面是否是异常处理页面,值为true或false,page指令属性值,pageEncoding属性 指定JSP页面的字符编码,默认是ISO-8859-1,若要正常显示汉字,通常指定为:GB2312或GBK pageEncoding和contentType的区别与联系: pageEncoding是jsp文件本身的编码;contentType的charset是指服务器发送给客户端时的内容编码 ,它们的预设都是 ISO8859-1. 而随便设定了其中一个, 一般另一个就跟着一样了。若都设置了,在设置JSP源文件字符集时,优先级为 pageEncoding contentType. 设置响应输出的字符集时,优先级为 contentType pageEncoding.,示例:info属性, 此页面信息如下: “+s); % ,info属性:一个字符串,常用于显示JSP页面的版本作者等信息,可使用getServletInfo()方法获得,课堂练习,在程序片中设置数组越界异常,在页面出现异常或错误时,跳转到errorPage指定的错误页面。 errorPage页面的输出内容为“数组下标越界了,请检查!”,并显示当前的日期。,include指令,include指令允许在JSP页面内某处静态嵌入一个文件,包含是在JSP页面被转译成Servlet时进行的,文件合并后被编译成一个.class文件,静态嵌入后包含与被包含文件视为一体。如主体文件的page指令对被包含文件的约束也是有效的,主体文件也可使用被包含文件中的变量。 格式为: 如:。 一般将一个网站各个页面相同的部分(如导航条、页眉页脚等)写成单独的文件,然后静态include进各个页面,以减少重复代码。,include指令,说明: 一定要先写好被嵌入的文件,否则主体程序的编译不能被通过,所要嵌入的文件可以是文本、HTML、JSP等。 relativeURL这个路径名一般来说是指相对路径,不要端口、协议、域名,如: “error.jsp”、“/files/header.html”、“/test/data.jsp”; 包含文件中不再使用、标记,这些标记可能会影响在原JSP文件中同样的标记 ,这样做有时会导致错误。,课堂练习,创建一个html文件,内容及输出如下图。另创建多个JSP页面,分别包含该html文件,使得html文件的内容出现在每个JSP页面的顶部。, 欢迎来到信息职业技术学院! 用户名: 密码: ,taglib指令,taglib指令用于引入JSP页面中需要使用的标签库的定义,以便在页面中使用标签库中定义的标签 使用格式: /uri用来表示标签描述符,也就是告诉容器怎么找到标签描述文件和标签库,prefix定义了在jsp页面里面要引用这个标签时的前缀。 例如: ,五、动作元素,JSP动作元素在用户请求阶段执行。利用JSP动作元素可以动态地插入文件、重用JavaBean组件、进行页面转向、为Java插件生成HTML代码等。 JSP动作元素是完全基于XML语法的,它采用严格的XML标签语法来表示,格式为: 或 ,JSP动作元素,JSP规范中定义了一系列的动作元素,常用的动作元素有: 静态或动态包含一个外部文件。 请求转到一个新的页面。 在浏览器中播放或显示一个对象实例,如Applet或JavaBean。 为其他标签提供附加信息。 实例化或查找一个JavaBean。 设置JavaBean的属性。 输出某个JavaBean的属性。,元素,:该标签告诉JSP页面动态包含一个文件,该文件可以是一个静态的或者动态的文件。 若被包含文件是静态的,那么会把被包含文件的内容加到JSP文件中去;若文件是动态的,那么被包含文件会先被执行,然后把结果加入到JSP文件中去。还可以用向被包含的动态文件传递参数名和参数值。 的使用格式为: 不带参数格式 flush=true|false / 带参数格式 ,元素,说明: page的属性值fileName为一相对路径,或者是代表相对路径的表达式。 flush的属性值为“true”表示缓冲区满时会被清空,它默认值是false,一般使用flush为true。 是以“名值”对的形式为其他标签提供附加信息,它不能单独使用,一般和、一起使用。子句能传递一个或多个参数值给动态文件。其中,name指定参数名,value指定参数值。若要传递多个参数,则可以使用多个。,示例:, 我是主文件 “ / 这里是主文件的其他内容 , 我是子文件 这里是子文件,我得到的参数值为: ,主文件,子文件,运行结果:,静态加载和动态加载区别:, 指令标签include是静态包含,被包含文件是在编译时插入JSP页面,然后一起被JSP容器编译生成一个Servlet,动作标签是动态包含,是在JSP页面被请求时,主文件和被包含文件分别被JSP容器编译,生成两个Servlet,然后将被包含文件的Servlet调入到主文件的Servlet中。 指令标签在编译时就将子文件载入; 动作标签在运行时才将子文件载入;,课堂练习,a.jsp中使用include动作标签加载b.jsp,加载时向b.jsp传送某学生的姓名、学号、年龄, b.jsp获取并显示这些数据, 元素,:从该指令处停止当前页面的执行,而转向另一个JSP页面。 该元素将客户端发出的请求(request),从一个JSP页面转交给另一个页面(可以是一个 HTML文件、JSP 文件、PHP文件、甚至可以是一个Java程序段)。 注意: “标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。 “与的区别”:forward标签之后的代码,将不能执行,而include在执行完被包含文件后,还会回主文件继续执行., 元素,使用格式为: 不带参数格式 / 带参数格式 其中:page的属性值fileName为一相对路径,或者是代表相对路径的表达式;参数被发送到跳转后的动态文件。,课堂练习,理解教材p95页:例4-11、例4-12 练一练 c.jsp使用forward动作标签转向d.jsp,转向时向d.jsp传送两个整数。在d.jsp中获取这两个整数,并计算其加、减、乘、除,元素,:插入一个applet或Bean,必要的话还要下载一个Java插件用于执行它。 一般,元素会指定对象是Applet还是Bean,也会指定class的名字,还有位置,另外还会指定将从哪里下载这个Java插件。 使用格式为: text message for user ,元素,说明: 属性type描述插件将执行的对象的类型,可以为bean或applet,必须指定。 属性code描述插件将执行的java类文件的名称,在名称中必须包含扩展名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件开发合同标准模板范本
- 2025年国际法专业题库- 国际法与国际协议
- 经销产品售后服务合同3篇
- 南京化妆品网互换广告相关合同书5篇
- 电子元件配件订购合同书3篇
- 简单土地租赁合同4篇
- 婚庆公司搭建合同范本
- 水电买卖供货合同范本
- 竹板材销售合同范本
- 电气装配合同范本
- 第01讲 意象、画面与意境 练习 中考语文复习
- 2025年湖南水利水电职业技术学院单招职业技能测试题库附答案
- 第四章药品调剂质量控制第二节用药错误管理课件
- 幼儿园酸奶牛奶采购合同
- 高中化学拔尖创新人才早期培养路径
- 2025年四川宽窄实业有限责任公司招聘笔试参考题库含答案解析
- 《中药提取物生产技术》课件-中药常用的粉碎方法
- Unit 1 完形填空训练8篇-2023-2024学年英语八年级上册单元冲刺满分题型训练(人教版)
- DB32/T 1086-2022 高速公路建设项目档案管理规范(修订)
- 教师资格证《教育知识与能力》中学-必背知识点
- 配料保密协议
评论
0/150
提交评论