您好,欢迎访问三七文档
JSP模板文本JSP脚本元素JSP注释JSP指令JSP动作元素JSP页面的主要组成部分JSP页面可以按照编写HTML页面的方式来编写,在静态的HTML内容之中嵌入JSP其它各种元素执行业务逻辑和产生动态内容JSP页面中的静态HTML内容称之为JSP模板文本,也叫模板元素处理时,模板文本会原封不动地传递给客户端浏览器htmlheadtitlefirstjsp/title/headbody%Stringdate=newjava.util.Date().toLocaleString();out.println(date);%/body/html蓝色部分为JSP模板文本模板文本说明:▪JSP模板文本不仅包括HTML,还包括CSS\XML\JavaScript等通过脚本元素,可以将Java代码插入到与JSP页面对应的Servlet之中JSP脚本元素有三种:▪JSP脚本片段▪JSP表达式▪JSP声明脚本片段(Scriptlet)是指嵌套在%%之间的一条或多条Java程序代码脚本片段中的代码被插入到JSP页面所生成Servlet的对应位置处%Stringdate=newjava.util.Date().toLocaleString();out.println(date);%脚本片段中的Java代码严格遵循Java语法,如:每条语句以分号结束;脚本片段能实现普通Java程序所能实现的任何功能,如定义变量、执行程序运算、调用其他Java类、访问数据库等;脚本片段可以用out.println等语句将数据输出到浏览器%Stringdate=newjava.util.Date().toLocaleString();out.println(date);%JSP脚本片段的习惯写法:▪以下写法都可以▪多条语句时习惯采用第一种%Stringdate=newjava.util.Date().toLocaleString();%%Stringdate=newjava.util.Date().toLocaleString();%%Stringdate=newjava.util.Date().toLocaleString();out.println(date);%①②①%Stringdate=newjava.util.Date().toLocaleString();out.println(date);%②一个JSP页面中可以有多个脚本片段,每个脚本片段代码嵌套在各自独立的一对%%之间示例htmlheadtitlefirstjsp/title/headbody%Stringdate=newjava.util.Date().toLocaleString();%当前时间:%out.println(date);%/body/html局部变量date可以被后续Java代码访问publicfinalclassdate2_jspextendsorg.apache.jasper.runtime.HttpJspBase{publicvoid_jspService(HttpServletRequestrequest,HttpServletResponseresponse){JspWriterout=null;response.setContentType(text/html);out=pageContext.getOut();out.write(html\r\n);out.write(head\r\n);out.write(titlefirstjsp/title\r\n);out.write(/head\r\n);out.write(body\r\n);Stringdate=newjava.util.Date().toLocaleString();out.write(“当前时间:\r\n”);out.println(date);out.write(/body\r\n);out.write(/html);}}第一对%%中的代码第二对%%中的代码单个脚本片段中的Java语句可以是不完整的,但是,多个脚本片段组合后的结果必须是完整的Java语句▪常用在条件输出和循环控制时理解htmlheadtitlejsp/title/headbodytableborder=“2”%for(inti=0;i10;i++){%trtdxxx/tdtdyyy/td/tr%}%/table/body/html循环输出10行示例table%for(inti=0;i10;i++){%trtdxxx/tdtdyyy/td/tr%}%/tableout.write(“table\r\n”);for(inti=0;i10;i++){out.write(“tr\r\n);out.write(“tdxxx/td\r\n);out.write(“tdyyy/td\r\n);out.write(“/tr\r\n”);}out.write(“/table”);table%for(inti=0;i10;i++){%trtdxxx/tdtdyyy/td/tr%}%/tableout.write(“table”);for(inti=0;i10;i++){out.write(“tr\r\n);out.write(“tdxxx/td\r\n);out.write(“tdyyy/td\r\n);out.write(“/tr\r\n”);}out.write(“/table”);单个脚本片段中的Java语句可以不完整单个脚本片段中的Java语句可以不完整多个脚本片段组合后的结果必须是完整的Java语句练习:在JSP页面中定义变量age并赋初值,如果大于18,输出“你长大了!”否则,输出“你还是个孩子!”输出的内容采用out.println方法输出以及“模板文本”等两种形式模板文本输出示例out.println输出示例htmlheadtitlejsp/title/headbody%intage=20;if(age=18){%你长大了!%}else{%你还是个孩子!%}%/body/html%if(Java条件表达式){%模板文本(元素)%}else{%模板文本(元素)%}%JSP脚本元素有三种:▪JSP脚本片段▪JSP表达式▪JSP声明脚本片段利用out.println等方法将数据输出到浏览器JSP表达式提供了将一个Java变量或表达式的计算结果输出到客户端的简化方式,要输出的变量或表达式直接封装在%=和%之中,输出结果转变成String类型%Stringdate=newjava.util.Date().toLocaleString();%%out.println(date);%%=date%两者等价示例“%=”中的%与=之间不能有空格“=”与其后表达式之间可带也可不带空格%=date%此处不能有空格%=date%此处可带也可不带空格JSP表达式中的变量或表达式后面不能有分号(;)JSP表达式被翻译成Servlet程序中的一条out.println语句,“=”后的表达式作为out.println方法的参数,方法语句最后自动带上分号%=date;%%=date%out.println(date);被翻译成out.println(date;);注意被翻译成JSP页面中,输出给浏览器的内容包括以下:▪模板文本(通常即HTML、JavaScript和CSS等)▪脚本片段(%%)中out.println等方法输出的内容▪JSP表达式(%=%)中“=”后的内容JSP脚本元素有三种:▪JSP脚本片段▪JSP表达式▪JSP声明JSP页面中编写的代码,默认翻译到servlet的_jspService方法中JSP声明中的Java代码则被翻译到_jspService方法的外面▪可用于定义实例变量或成员方法%!Java代码%示例JSP有属于自己的注释方式在JSP页面翻译成Servlet的过程中,JSP注释里的内容被忽略不翻译%--JSP注释内容--%示例各种注释:▪HTML注释▪JSP注释▪Java注释!--HTML注释内容--%--JSP注释内容--%//Java注释内容/*Java注释内容*/JSP指令用于设置整个JSP网页相关的属性,一般语法形式为:JSP定义了三种指令▪page指令▪include指令▪taglib指令%@指令名属性=“值”%page指令主要用于定义JSP页面的字符集编码、页面响应的内容类型、Java类包的导入等▪常用属性:contentType%@page属性=“值”%%@pagecontentType=“text/html;charset=utf-8”%查看生成的Servlet,被翻译成response.setContentType(“text/html;charset=utf-8”)示例page指令常用属性:▪language属性:默认值为java,该属性也可以不设置▪import属性:导入java包或类%@pagelanguage=“java”%%@pageimport=“java.util.Date”%查看由JSP生成的Servlet,被翻译成相应的import语句示例page指令常用属性:▪import属性:导入java包或类导入的多个包或类之间使用逗号(,)分隔,也可以分开写%@pageimport=“java.util.Date,java.io.*”%%@pageimport=“java.util.Date”%%@pageimport=“java.io.*”%两者等价通常写在JSP页面最开始处可以使用多条指令语句单独设置每个属性,也可以使用同一条指令语句设置该指令的多个属性%@pagecontentType=“text/html;charset=utf-8”import=“java.io.*”%%@pagecontentType=“text/html;charset=utf-8”%%@pageimport=“java.io.*”%inclue指令称为文件加载指令,用于在当前页面中嵌入其它文件(JSP,HTML等)作用:对于具有相同功能的页面,可以放在一个文件里,需要使用这些功能的页面通过include指令将该文件加载进来%@includefile=“文件URL”%改造书店后台管理页面,将左侧管理菜单做成单独文件,通过include指令嵌入到index\bookManagement等页面taglib指令用来定义一个标记库以及标记的前缀JSP动作元素可以执行一些标准常用的动作,也叫JSP行为元素常用动作元素:▪jsp:include▪jsp:forward▪jsp:useBeanjsp:include动作用于动态插入文件示例:前面实验include指令完成的功能改用jsp:include动作实现jsp:includepage=“文件URL”/动作元素是一种标记注意:结束标记include指令和jsp:include动作的区别▪include指令是静态的,在编译期间将嵌入文件与原文件翻译合并成一个完整的文件▪jsp:include动作是在运行期间动态插入所嵌入的文件,嵌入文件与原文件彼此独立jsp:includepage=“文件URL”/%@includefile=“文件URL”
本文标题:JSP基本语法
链接地址:https://www.777doc.com/doc-3818066 .html