JSP 语法详解
chap2_JSP语法
example2_2.jsp:
5
2. JSP页面的成员变量和方法
JSP页面在“<%!”和“%>”之间声明 定义的方法 ,在该JSP页面有效,该方法 内的变量只在该方法内有效
对于在“<%!”和“%>”标记符号之间 定义类,可以在Java程序片中使用该类 创建对象。
18
不允许两次使用page 指令给contentType 属性指定不同的属性值 .
常用类型值有: text/html、text/plain、 image/gif、 image/jpeg、 application/x-shockwave-flash、 application/msword等
实例:example2_8.jsp
16
contentType属性
contentType 属 性 值 确 定 JSP 页 面 响 应 的 MIME (Multipurpose Internet Mail Extention)类型。
例如:
<%@ page contentType="text/html " %> <%@ page contentType="application/msword" %>
如果需要在JSP页面内某处整体嵌入一个文件,就 可以考虑使用include指令标记,其语法格式如下: <%@ include file= "文件的URL " %>
如果该文件和当前JSP页面在同一Web服务目录中, 那么“文件的URL”就是文件的名字;
如果该文件在JSP页面所在目录的子目录中,比如 fileDir子目录中,那么“文件的URL”就是 “fileDir/文件的名字”。
Jsp基本语法
Jsp基本语法Jsp语法分为3类:脚本元素、指令元素、动作元素。
jsp的脚本元素有以下4个:1. 隐藏注释:<%--这是客户端不可见的隐藏注释--%>2. 声明(declarations):<%!这是声明%>3. 脚本段(scriptlets):<%这是脚本段%>4. 表达式(expression):<%=这是表达式%>jsp的指令元素有以下3个:指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。
一、page指令功能:设定整个JSP网页的属性和相关功能。
语法:<%@ page attribute1="value1" attribute2="value2" %>标签元素:<jsp:directive.page attribute1="value1" attribute2="value2" />page指令元素的属性language="language" 指定JSP Container要用什么语言来编译JSP网页。
目前只可以使用Java语言,不过不排除增加其它语言。
默认值为Java。
extends="className" 定义此JSP页面产生的Servlet是继承自哪个父类。
必须为实现HttpJspPage接口的类。
JSP规范对不完全理解其隐意的情况下使用此属性提出警告。
import="importList" 定义此JSP页面可以使用哪些Java API。
用逗号分隔列出一个或多个全质类名。
此列表用于在生成的java servlet中创建相应的导入语句。
以下包是自动包含的,不必被指出:ng.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.*session="true|false" 指明JSP页面是否需要一个HTTP会话,如果为true,那么产生的servlet 将包含创建一个HTTP会话(或访问一个HTTP会话)的代码,缺省为true。
jsp语法
jsp语法
JSP(Java Server Pages)是Java语言的服务器端脚本语言,是Sun Microsystems开发的基于Java平台的应用程序服务器的一个服务器端编程模型,其特点是可以将客户端的动作与服务器端的应用程序组合起来完成数据交换。
JSP本质上是一种来自一连串Java程序模型的服务器端编程模式,使网页开发者可以利用Java编程语言开发动态网页和web应用程序。
作为Java程序模型,JSP结合了HTML及Web标准,并不需要程序员编写大量的Java代码。
JSP简化了程序写作,使用标准的结构来让程序员更容易的接受和理解它的结构。
JSP的语法由标准的HTML结构以及JSP指令、动作元素和scriptlet构成,其中,JSP指令在标签中定义及声明其编译等参数;动作元素可以用来执行表达运算、使用Bean组件、输出内容、引入其他资源以及错误处理等等;scriptlet则可以用来包含一段由Java语言编写的程序片段,它也是JSP最重要的部分。
JSP提供了一种新的Web解决方案,可以降低开发Web应用程序的工作量,减少由Java程序员编写大量的程序代码的工作,更具可靠性和可维护性,但特别适用于开发大型Web应用程序和复杂的多种操作系统环境下的服务器端程序开发。
JSP基础语法
JSP基础语法(上)一.1.注释显示注释:HTML注释,最终会发送的客户端。
隐式注释:JAVA注释,不会在客户端显示。
★注释的几种方法<!—HTML注释,此注释会发送到客户端--><%//可以使用JAVA的单行注释/*多行注释*/%><%--JSP中的注释--%>2.声明语句<%!%>声明全局变量、类、方法,全局变量,实例化一次,类和方法,开发中很少。
例:<%! String test=”Hello World”; %>3.表达式<%=%>类似于out.println()提示:在开发时尽量不要使用out.println()输出,而是用<%=%>进行输出。
目的:达到HTML代码与JAVA代码的分离。
4.脚本代码<% %>写具体的JAVA代码或声明变量,声明的是局部变量。
二.1.编码(设定页面MIME类型)<%@ page contentType=”text/html;charset=gb2312”%>2.包<%@ page import=”java.io.*,java.sql.*”%>3.将字符串变成整数eg. row = Integer.parseInt(t_row)t_row是传过来的参数4.在页面显示当前时间<%=new Date()%>JSP基础语法(下)1.包含语句★<%@include file=“hello.jsp”%><%@include file=“hello.html”%>如果要实现一个网站,而且整个WEB站点都需要菜单、页眉、页脚(HTML代码),有两种实现方法:A.在所有的JSP页面中,协商菜单、也没。
页脚(HTML代码)(页面较多时不好处理)B.在所有的JSP页面中,将菜单、页眉、页脚(HTML代码)代码包含进来包含的是文件的内容注意:include语句可以包含任何内容,但是在一个JSP页面中,只能有一组<html>、<head>、<body>原则:在开发中呗包含的文件,只写显示部分的HTML代码,主题代码不要出现。
JSP学习笔记之基础语法
JSP学习笔记之基础语法jsp页⾯元素构成jsp页⾯组成部分有:指令,注释,静态内容,表达式,⼩脚本,声明。
jsp指令page指令:通常位于jsp页⾯的顶端,同⼀个页⾯可以有多个page指令include指令:将⼀个外部⽂件嵌⼊到当前jsp⽂件中,同时解析这个页⾯中的jsp语句taglib指令:使⽤标签库定义新的⾃定义标签,在jsp页⾯中启动⾃定⾏为page指令语法<%@page属性1="属性值" 属性2="属性值1,属性值2" 属性n="属性值n"%>jsp注释在jsp页⾯的注释。
HTML的注释:<!--html注释--> //客户端可见jsp的注释:<%--html注释--%> //客户端不可见jsp脚本注释://单⾏注释/**/多⾏注释jsp脚本在jsp页⾯中执⾏的java代码语法:<%java代码%>jsp声明在jsp页⾯中定义变量或者⽅法语法:<%!java代码%>jsp表达式在jsp页⾯中执⾏的表达式语法:<%=表达式%> //注意:表达式不以分号结束jsp页⾯的⽣命周期JSP的⽣命周期分为四个主要阶段是⾮常相似的Servlet的⽣命周期,并有如下⼏要点:JSP 编译:当浏览器请求⼀个JSP,JSP引擎⾸先检查它是否需要编译页⾯。
如果页⾯从来没有被编译,或者如果JSP已经被修改,因为它是最后⼀个编译JSP引擎编译的页⾯。
编译过程包括三个步骤:•解析JSP。
•打开JSP成servlet。
•编译这个servlet。
JSP初始化:当⼀个容器加载⼀个JSP它的任何服务请求之前调⽤jspInit()⽅法。
如果您需要执⾏JSP特定的初始化JSP 执⾏:JSP的⽣命周期的这个阶段代表请求的所有交互,直到JSP被破坏。
当浏览器请求⼀个JSP与页⾯已经被加载并初始化时,JSP引擎调⽤JSP中的_jspService() ⽅法。
第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素
第2章 JSP语法基础
2.3 JSP指令元素 2.4 JSP动作元素
JSP开发案例教程
本章内容
01 脚本元素 03 JSP指令元素
02 案例ch2.2_datetime: 时间格式化
04 JSP动作元素
05 案例ch2.5_include: 框架类型网页
06 小结与练习
2.3 JSP指令元素
指定在当前页
4
session
中是否允许 10 isThreadSafe 指定是否线程安全
session操作
5
buffer
指定处理页面 输出内容时的 11 缓冲区大小
autoFlush
是定当缓冲区满时是 否自动清空
指定当前页面
说明当前页面是否为
6
errorPage 运行异常时调 12 isErrorPage 其他页面的异常处理
该JSP动作表示获取或创建一个名称为guess的、属于类com.GuessNumber的、生命周期 为session的对象,详见本书案例ch5.4_guessNumber(猜数游戏)。
JSP开发案例教程
所有的动作元素需要两个属性:
id属性
id属性是动作元素的唯一标识,可以在 JSP页面中被引用。动作元素创建的id值 可以通过PageContext来调用。
可以使用绝对或相对URL。 ✓ tagDir属性指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
2.4 JSP动作元素
JSP开发案例教程
2.4 JSP动作元素
JSP动作元素
➢ JSP动作利用XML语法格式的标记,来控制JSP容器Servlet引擎的行为。 ➢ 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件
JSP语法——精选推荐
JSP语法1 JSP 语法脚本程序可以包含任意量的Java语句、变量、⽅法或表达式,只要它们在脚本语⾔中是有效的。
脚本程序的语法格式:<% 代码⽚段 %>或者,您也可以编写与其等价的XML语句,就像下⾯这样:<jsp:scriptlet>代码⽚段</jsp:scriptlet>任何⽂本、HTML标签、JSP元素必须写在脚本程序的外⾯。
第⼀个JSP⽰例:<html><head><title>Hello World</title></head><body>Hello World!<br/><%out.println("Your IP address is " + request.getRemoteAddr());%></body></html>1-1中⽂编码问题如果我们要在页⾯正常显⽰中⽂,我们需要在 JSP ⽂件头部添加以下代码:<><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>接下来我们将以上程序修改为:<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title>sxt教程</title></head><body>Hello World!<br/><%out.println("你的 IP 地址 " + request.getRemoteAddr());%></body></html>1-2 JSP声明⼀个声明语句可以声明⼀个或多个变量、⽅法,供后⾯的Java代码使⽤。
03JSP基讲义本语法
1、 程序示例(续)
程序说明 <%@ Page language= "java" %> 页面设置命令,该语句可以有多个,通常用 来设置页面的显示类型、字符集、语言等。 out——JSP内置对象,用来向页面输出内容。 <br>——HTML标记,回车换行。
3、输出表达式
说明: 该输出方法相当于简化的out.println语句。 区别是:表达式输出用在HTML语言中,而 out.println必须写在JSP定界符<% %> 内。
比较:<% name="John"; out.println("Hello, "+name);
%> Hello, <%=name%>
1、JSP编译指令简介(续)
JSP有3种编译指令: page include taglib
out.print("欢迎进入JSP世界<br><br>"); /* out.print("现在的时间是:" + new java.util.Date()); */ %> <!--网页生成于:<%= new java.util.Date()%>-->
3、注释(续2)
【3种注释的区别】 HTML注释:可通过“查看源文件” 操作, 在客户端看到。 JSP注释:不发送到客户端,在JSP编译时 被忽略掉,即:不存在于Java源代码中; Java注释:同上。
JSP语法大全及举例说明
HTML注释在客户端显示一个注释。
JSP 语法例子 1例子 2在客户端的HTML源代码中显示为:描述这种注释和HTML中很像,也就是它可以在“查看源代码”中看到。
唯一有些不同的就是,你可以在这个注释中用表达式(例子2所示)。
这个表达示是不定的,由页面不同而不同,你能够使用各种表达式,只要是合法的就行。
隐藏注释写在JSP程序中,但不是发给客户。
JSP 语法例子:描述用隐藏注释标记的字符会在JSP编译时被忽略掉。
这个注释在你希望隐藏或注释你的JSP程序时是很有用的。
JSP编译器是不会对%--and--%之间的语句进行编译的,它不会显示在客户的浏览器中,也不会在源代码中看到在%-- --%之间,你可以任意写注释语句,但是不能使用“--%>”,如果你非要使用请用“--%\>”。
声明在JSP程序中声明合法的变量和方法。
JSP 语法例子描述声明你将要在JSP程序中用到的变量和方法。
你也必须这样做,不然会出错。
你可以一次性声明多个变量和方法,只要以";"结尾就行,当然这些声明在Java中要是合法的。
当你声明方法或变量时,请注意以下的一些规则:1 声明必须以";"结尾(Scriptlet有同样的规则,但是表达式就不同了)。
2 你可以直接使用在% @ page %中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。
3 一个声明仅在一个页面中有效。
如果你想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用%@ include %或jsp:include元素包含进来。
表达式包含一个符合JSP语法的表达式。
JSP 语法例子描述表达式元素表示的是一个在脚本语言中被定义的表达式,在运行后被自动转化为字符串,然后插入到这个表达式在JSP文件的位置显示。
因为这个表达式的值已经被转化为字符串,所以你能在一行文本中插入这个表达式(形式和ASP完全一样)。
当你在JSP中使用表达式时请记住以下几点:1 你不能用一个分号(“;”)来作为表达式的结束符。
第3章 JSP语法
注意:在包含文件时避免在被包含文件中定 义同名的变量和方法,而导致转换时出错, 因 为原文件和被包含的文件可以互相访问彼 此定义的变量和方法,如果不小心修改了另 外文件中的变量值,可能会导致不可预料的 结果。
3.2.3 使用taglib指令
在JSP页面中,可以直接使用JSP提供的一些动作元素标 识来完成特定功能,如使用<jsp:include>包含一个文件。 通过使用taglib指令,开发者就可以在页面中使用这些基本 标识或自定义的标识来完成特殊的功能,用户可以定义一个 标签库及其自定义标签的前缀。 taglib指令的使用格式如下:
3.2.1 使用page指令
extends属性:extends属性用于指定将一个JSP页面转 换为Servlet后继承的类。在JSP中通常不会设置该属性, JSP容器会提供继承的父类。并且如果设置了该属性,一些 改动会影响JSP的编译能力。 session属性:该属性默认值为true,表示当前页面支持 session,设为false表示不支持session。 buffer属性:该属性用来设置out对象(JspWriter类对象) 使用的缓冲区的大小。若设置为none,表示不使用缓存,而 直接通过PrintWriter对象进行输出;如果将该属性指定为 数值,则输出缓冲区的大小不应小于该值,默认值为8KB (因不同的服务器而不同,但大多数情况下都为8KB)。
3.2.1 使用page指令
info属性:该属性可设置为任意字符串,如当前页面的 作者或其他有关的页面信息。可通过 Servlet.getServletInfo()方法来获取设置的字符串。例如:
<%@ page info="This is index.jsp!" %> <%=this.getServletInfo()%>
Jsp基础语法
JSP基础:注释及Scriptlet注释:<!—这个注释客户端就可以看见--><%java提供的//单行注释/**/多行注释,客户端无法看见%>显式和隐式两个大类。
3.2、Scriptlet(重点)Scriptlet表示的的是脚本小程序,像之前out.println()这个语句是编写在<%%>之中的,很明显,这里面编写的就是一个scriptlet<%!%>全局变量,操作声明常量较多,定义方法定义类一般都是不使用的<%局部变量%><%=%>这中Scriptlet主要是用于输出的作用,注意在输出的时候,不再使用out.println.而使用<%=%>3.3、通过交互性打印表格在以后的操作中,只要是输出就使用<%=%>而且以后的标签指令中依然会存在这些操作。
3.4、Scriptlet标签(理解)在程序中如果过多使用<%%>会发现代码非常的混乱,所以在新版本的jsp之间专门一共一种scriptlet的标签,这个标签的语法如下:<jsp:scriptlet>Java的Scriptlet代码</jsp:scriptlet>属于标签指令,使用少。
在开发中隐式注释是不会发送到客户端上的。
Page指令3.1设置MIME如果希望可以设置好显示编码<%@ page language=”java” contentType=”text/html;charset=GBK” %>一些搞版本的Tomcat,也可以自动进行编码,但是,为了程序正常运行不出问题,一定要设置MIME类型为什么*.htm或者是*.html?Text test经常有一中手误,会出现一个下载框,,应为现在设置的MIME类型不合适。
更热闹的是使用MIME类型,还可以将页面变成word输出。
此时确实是可以通过word打开了,但是现在的文件的名称并不好,3.2、设置文件编码contentType 主要功能还是设置MIME,而之后写的charset 只是指定了编码,但是也可以通过pageEnconding来指定编码,这个在以后的开发工具比较常见。
Jsp基本语法
Jsp基本语法1.Jsp语法的组成:脚本元素、指令元素和动作元素;2.Jsp脚本元素:a)隐藏注释:Jsp注释:<%-- comment --%>;HTML中注释:<!—comment -->;b)声明语句:Jsp声明:<%! Declaration;%>或<%! 声明;[声明;]%>;(1)注意声明用来定义一个或多个变量或方法,但并不输出任何文本;(2)声明语句必须在结尾以分号“;”结束,page指令中包含进来的变量或方法,不需要对其进行再声明;(3)被<%!--%>声明的变量为全局变量(方法)在整个页面有效,变量占用的空间知道服务器关闭后才释放;被脚本<%--%>声明的变量为局部变量,变量在一定的范围内有效;(4)对于多个页面都要使用到的变量,可以使用<%@ include%>或<jsp:include>包含进来;3.Jsp脚本段(Scriptlets):<% code fragment%>包含了变量、表达式、方法和多个Jsp语句;4.表达式(Expression):<%=expression%>,注意运算顺序为从左到右;5.Jsp指令元素:描述了Jsp页面转换成Jsp容器所能执行的Java代码的控制信息;a)指令格式:<%@ 指令名属性1=”值1”属性2=”值2”…..%>page指令:<%@ page [language=”java”][extends=”package.class”][import=”{package.class|package.*},…..”][session=”true|false”][buffer=”none|8kb|sizekb”][autoFlush=”true|false”][isThreadSafe=”true|false”][info=”t ext”][errorPage=”relativeURL”][contentType=”mineType[;charset=characterSet]”|”text/html;char set=ISO-8859-1”][isErrorPage=”true|false”]%>注意:有些Java类默认导入的:ng.*;javax.servlet..*;javax.servlet.jsp.*;javax servlet.http.*;contentType属性指定返回浏览器的内容类型,属性值有:text/plain(纯文本页面),text/html(纯文本的HTML页面),text/xml (XML页面),application/x-msexcel(Excel文件)和application/msword(word文件),在该属性中指定返回页面中所使用的字符编码方式:charset=gbk等;如:<%@ page contentTypt=”text/html;charset=gbk2312”%>。
JSP应用语法详解大全
JSP应用语法详解大全1)HTML注释:可以用注释内容,也可以用表达式.2)隐藏注释:注释会被JSP编译时被忽略.编译器不会对之间的语句编译,它不会显示在客户的浏览器和源代码中.3)声明:声明你将要在JSP程序中用到的变量和方法.可以一次性声明多个变量和方法,要以";"结尾,声明在Java中要合法.4)表达式:JA V A中的表达式,会被显示在JSP页面中,注意不要有";".5)JA V A代码:包含有效JA V A代码.6)Include指令:可以包含HTML,JSP,文本文件,JA V A代码,要注意在这个包含文件中不能使用有时会导致错误.属性:file指相对路径,如:"error.jsp""templates/onlinestore.html""/beans/calendar.jsp"如果这个路径以"/"开头,那么这个路径主要是参照JSP应用的上下关系路径,如果路径是以文件名或目录名开头,那么这个路径就是正在使用的JSP文件的当前路径.7)Page指令:属性:-language="java"声明脚本语言的种类,暂时只能用"java"-extends="package.class"继承一个类-import="{package.class | package.* }, ..."导入一个包,下面的包是默认自动导入的.ng.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.*-session="true | false"是否允许session会话,默认true.-buffer="none | 8kb | sizekb"设置缓冲区大小默认值是8kb,none是关闭缓冲区,sizekb是自己设置大小.-autoFlush="true | false"是否刷新缓冲区,true(缺省值)输出正常,false这个buffer溢出,就会导致一个错误,buffer设置为none,就要把这个设置为false.-isThreadSafe="true | false"设置Jsp文件是否能多线程使用。
JSP基本语法学习
JSP基 本 语 法 学 习 NhomakorabeaJSP基本语法学习
一、 注释
① JSP注释语法:<%- - 注释内容 - -%> 不回出现在客户端的源代码中
二、表达式
① JSP表达式的作用是定义JSP的一些输出 表达式基本语法: <%= 变量|返回值|表达式% > JSP表达式的作用是将其里面内容所运算的结果输出到客户端 例: "<%=msg%>" 是JSP表达式,即将msg内容输出给客户端 等价于<%out.print(msg);%> ② 使用JSP表达式,需要注意几个细节 (1) JSP表达式中不能用";"结束 (2) 在JSP表达式中不能出现多条语句 (3) JSP表达式的内容一定是字符串类型,或者能通过toString()函数转换成字符串的形式
三、程序段
① 定义:JSP程序段就是插入到JSP程序的Java代码段 ② JSP程序段的用法如下:<% Java代码 %> ③ 不能再JSP程序段中定义方法 ④ JSP中可以放入HTML,也可以放入JSP程序段和表达式,可以灵活地混合使用 四、JSP声明 ① JSP中提供了声明,JSP声明中可以定义网页中的全局变量,这些变量再JSP页面中
进来,进行实时的更新
④ <jsp:forward page="文件名"/> 显然,page属性就是指定要跳转到的目标文件。
的任何地方都能够使用。再实际的应用中,方法、页面全局变量、甚至类的声明
都可以放在JSP声明部分 ② 使用方法 <%! 代码 %> ③ JSP声明中定义变量是网页级别的,系统会优先执行,也就是说使用JSP声明可以再JSP
JSP语法(Tablib指令)
JSP语法(Tablib指令) Taglib 指令 定义⼀个标签库以及其⾃定义标签的前缀。
JSP 语法 <%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %> 例⼦ <%@ taglib uri="" prefix="public" %> <public:loop> . . </public:loop> 描述 % @ taglib %指令声明此JSP⽂件使⽤了⾃定义的标签,同时引⽤标签库,也指定了他们的标签的前缀。
这⾥⾃定义的标签含有标签和元素之分。
因为JSP⽂件能够转化为XML,所以了解标签和元素之间的联系很重要。
标签只不过是⼀个在意义上被抬⾼了点的标记,是JSP元素的⼀部分。
JSP元素是JSP语法的⼀部分,和XML⼀样有开始标记和结束标记。
元素也可以包含其它的⽂本、标记、元素。
⽐如,⼀个jsp:plugin元素有jsp:plugin开始标记和/jsp:plugin结束标记,同样也可以有jsp:params和jsp:fallback元素。
你必须在使⽤⾃定义标签之前使⽤% @ taglib %指令,⽽且你可以在⼀个页⾯中多次使⽤,但是前缀只能使⽤⼀次。
属性 uri="URIToTagLibrary" Uniform Resource Identifier (URI)根据标签的前缀对⾃定义的标签进⾏惟⼀的命名,URI可以是以下的内容: Uniform Resource Locator(URL),由RFC 2396定义,查看。
Uniform Resource Name(URN),由RFC 2396定义。
⼀个相对或绝对的路径 prefix="tagPrefix" 在⾃定义标签之前的前缀,⽐如,在中的public,如果这⾥不写public,那么这就是不合法的。
JSP所有知识点详细整理,百科全书!!!MLDN
JSPJSP基础语法一.注释及Scriptlet1、注释(1)显示注释:客户端可以看见<!--注释内容-->(2)隐式注释:客户端无法看见格式一:// 单行注释格式二:/* */ 单行或多行注释格式三:<%--注释内容--%> JSP注释2、JSP程序执行时要有WEB容器的支持,必须启动Tomcat之后通过浏览器访问Tomcat,并执行程序。
3、Scriptlet:(脚本小程序)所有嵌入在HTML代码中的Java程序都必须使用Scriptlet标记出来。
4、JSP中的三种Scritplet代码:(1)<%%>:定义局部变量、语句。
(2)<%!%>:定义全局变量、方法、类。
(多用于定义全局变量)(3)<%=%>:输出一个变量或一个具体内容。
例:<%String info = "www.MLDNJA V " ; // 局部变量int temp = 30 ;%><h3>info = <%=info%></h3><h3>temp = <%=temp%></h3><h3>name = <%="LiXingHua"%></h3>5、out.println输出的问题是HTML代码和Java代码混合在一起;并且生成的代码没有缩进。
实际开发中应该使用表达式输出方式。
6、例子:通过交互性在页面中输出一个表格(1)print_table.htm<html><head><title>,MLDN高端Java培训</title></head><body><form action="print_table.jsp" method="post"><table border="1" width="100%"><tr><td>请输入要显示表格的行数:</td><td><input type="text" name="row"></td></tr><tr><td>请输入要显示表格的列数:</td><td><input type="text" name="col"></td></tr><tr><td colspan="2"><input type="submit" value="显示"><input type="reset" value="重置"></td></tr></table></form></body></html>(2)print_table.jsp<html><head><title>,MLDN高端Java培训</title></head> <body><%int rows = 0 ;int cols = 0 ;try{ // 异常处理rows = Integer.parseInt(request.getParameter("row")) ;cols = Integer.parseInt(request.getParameter("col")) ;}catch(Exception e){}%><table border="1" width="100%"><%for (int x=0;x<rows;x++){%><tr><%for(int y=0;y<cols;y++){%><td bgcolor="#00CC33"><%=x*y%></td><%}%></tr><%}%></table></body></html>7、scriptlet标签(使用较少)<jsp:scriptlet>Java的scriptlet代码</jsp:scriptlet>二.Page指令1、定义JSP页面的相关属性,包括设置MIME类型、定义需要导入的包、错误页的制定等。
Jsp语法、指令及动作元素
Jsp语法、指令及动作元素⼀、JSP的语法1、JSP的模板元素:(先写HTML) 就是JSP中的那些HTML标记 作⽤:页⾯布局和美化2、JSP的Java脚本表达式: 作⽤:输出数据到页⾯上 语法:<%=表达式%>(实际上就是调⽤输出流打印到页⾯上)3、JSP中的Java脚本⽚段:(实际开发中,应做到JSP中不能出现⼀⾏Java脚本⽚段) 作⽤:书写Java代码逻辑 语法:<% 语句1; 语句2; %> 语句为Java语句 原理:其中的语句会原封不动的被服务器翻译到对应的Servlet的service⽅法中。
4、JSP的声明:(了解其原理) 作⽤:定义类的成员 语法:<%! Java代码 %>5、JSP的注释: 作⽤:注释Java脚本代码 语法:<%--这是注释--%> Jsp注释在客户端查看源⽂件⽆法看到,⽽Html注释在客户端可以看到⼆、JSP的指令:给JSP引擎⽤的(服务器⽤的)基本的语法格式:<%@ 指令名称属性1="值1" 属性2="值2" ....%>作⽤:告诉服务器,该如何处理JSP中除了指令之外的内容的。
1. page 作⽤:定义JSP页⾯的各种属性 属性: language:指⽰JSP页⾯中使⽤脚本语⾔。
默认值java,⽬前只⽀持java。
extends:指⽰JSP对应的Servlet类的⽗类。
不要修改。
*import:导⼊JSP中的Java脚本使⽤到的类或包。
(如同Java中的import语句) JSP引擎⾃动导⼊以下包中的类: javax.servlet.* javax.servlet.http.* javax.servlet.jsp.* 注意:⼀个import属性可以导⼊多个包,⽤逗号分隔。
*sessioin:指⽰JSP页⾯是否创建HttpSession对象。
默认值是true,创建 *buffer:指⽰JSP⽤的输出流的缓存⼤⼩.默认值是8Kb。
JSP语法详解
JSP文件中,可以总结出五类元素:• 注释• 模板元素• 脚本元素• 指令元素• 动作元素1.模板元素:模板元素指JSP的静态HTML或者XML内容,他对JSP的显示是非常必要的,但是对于JSP的编程人员来说,就不怎么关心这些部分内容,他主要有网页的美工来完成.,它遵循的是html或者是xml语法规则!模板元素是页面的框架,它影响页面的结构和美观效果.在jsp编译的时候,它将这些个模板元素编译到Servlet中去.当客户端请求这个jsp页面的时候Servlet会一字不变的发送到客户端去!2.注释JSP中的注释有多种:1.>>>HTML/XML注释:在客户端显示的一种注释。
JSP语法:<!--comment [<% = expression %>] -->例如:<!--这是一个JSP页面,当前时间为:<%=(new java.util.Date()).toLocaleString() %> -->2.>>>隐藏注释:写在JSP程序中,但不发给客户。
JSP语法:<%-- comment --%>scriptlets中的注释:郁友scriptlets包含的是JAVA代码所以Java中的注释规则也可以使用3. 脚本元素脚本元素主要包括:• 声明(Delaration)• 表达式(Expression)• Scriptlets声明就是在JSP程序中声明合法的变量和方法:<%!String getDate(){return new Date().toString();}int count = 10;%>直观的讲表达式就是位于<%=和%>之间的代码:<%=getDate()%>Scriptlets位于<%和%>之间,它们是合法的JAVA代码:<%int i;String color1 = "99ccff";String color2 = "88cc33";for(i =1 ;i<=count;i++){String color = "";if((i%2)==0) color = color1;else color = color2;out.println("<TR bgcolor="+color+">");out.println("<TD>----------------------</TD>");out.println("</TR>");}%>4.指令元素JSP中有三种指令元素,它们是:• 页面(page)指令• include 指令• taglib指令5.动作元素:与指令元素不用的是,动作元素在请求处理阶段起作用。
第4章 JSP语法
与指令元素不同的是,动作元素在请求处理 阶段起作用,JSP规范定义了一系列的标准 动作,它们都以jsp为前缀,常用的有:
<jsp:param> <jsp:include> 引入一个文件 <jsp:forward> 重定向一个新页面 <jsp:usebean> 寻找或实例化javaBean <jsp:setProperty> 设置javaBean属性 <jsp:getProperty> 输出javaBean属性
page指令的属性(续)
属性 method 描述 指定Scriptlet代码属于 哪个方法。该属性的 有效值包括service、 doGet、doPost等。 指定EL是否被忽略, 若为true,则忽略 “${}”表达式的计算 缺省值
Method=“service”
isELIgnored
由web.xml的 版本确定, Servlet2.3以前 的版本将忽略
copyright.html: <p>© 2002 Microsoft Corp.</p>
include指令(续)
使用include指令可以把一个复杂的JSP页面分成若 干简单的部分,当要对页面更改时,只需更改对应的 部分就行了。 通常情况下把页面分成多个区,典型的分区方法如下:
头部:head.jsp,LOGO
声明和scriptlet中定义变量的区别因为jsp页面实际上是被编译成servlet类执行的所以?声明中定义的变量是servlet类的成员变量?scriptlet中定义的变量是servlet类的service方法或doget方法或dopost方法等中的局部变量动作元素?与指令元素不同的是动作元素在请求处理阶段起作用jsp规范定义了一系列的标准动作它们都以jsp为前缀常用的有
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSP 语法详解发布日期:2004-02-10 作者: 阅读人次:54934HTML 注释在客户端显示一个注释.JSP 语法<!-- comment [ <%= expression %> ] -->例子 1<!-- This file displays the user login screen -->在客户端的HTML源代码中产生和上面一样的数据:<!-- This file displays the user login screen -->例子 2<!-- This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->在客户端的HTML源代码中显示为:<!-- This page was loaded on January 1, 2000 -->描述这种注释和HTML中很像,也就是它可以在"查看源代码\"中看到.唯一有些不同的就是,你可以在这个注释中用表达式(例子2所示).这个表达示是不定的,由页面不同而不同,你能够使用各种表达式,只要是合法的就行。
更多的请看表达式隐藏注释写在JSP程序中,但不是发给客户。
JSP 语法<%-- comment --%>例子:CODE:--------------------------------------------------------------------------------<%@ page language="java" %> <html> <head><title>A Comment Test</title></head> <body> <h2>A Test of Comments</h2> <%-- This comment will not be visible in the page source --%> </body> </html>--------------------------------------------------------------------------------描述用隐藏注释标记的字符会在JSP编译时被忽略掉。
这个注释在你希望隐藏或注释你的JSP程序时是很有用的。
JSP编译器不是会对<%--and--%>之间的语句进行编译的,它不会显示在客户的浏览器中,也不会在源代码中看到声明在JSP程序中声明合法的变量和方法JSP 语法<%! declaration; [ declaration; ]+ ... %>例子<%! int i = 0; %><%! int a, b, c; %><%! Circle a = new Circle(2.0); %>描述声明你将要在JSP程序中用到的变量和方法。
你也必须这样做,不然会出错.你可以一次性声明多个变量和方法,只要以";"结尾就行,当然这些声明在Java中要是合法的。
当你声明方法或变量时,请注意以下的一些规则:声明必须以";"结尾(Scriptlet有同样的规则,但是表达式就不同了).你可以直接使用在<% @ page %>中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明.一个声明仅在一个页面中有效。
如果你想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用<%@ include %>或<jsp:include >元素包含进来。
表达式包含一个符合JSP语法的表达式JSP 语法<%= expression %>例子<font color="blue"><%= map.size() %></font><b><%= numguess.getHint() %></b>.描述表达式元素表示的是一个在脚本语言中被定义的表达式,在运行后被自动转化为字符串,然后插入到这个表达示在JSP文件的位置显示。
因为这个表达式的值已经被转化为字符串,所以你能在一行文本中插入这个表达式(形式和ASP完全一样).当你在JSP中使用表达式时请记住以下几点:你不能用一个分号(";")来作为表达式的结束符.但是同样的表达式用在scriptlet中就需要以分号来结尾了!查看Scriptlet这个表达式元素能够包括任何在Java Language Specification中有效的表达式.有时候表达式也能做为其它JSP元素的属性值.一个表达式能够变得很复杂,它可能由一个或多个表达式组成,这些表达式的顺序是从左到右。
[/b]Scriptlet [/b]包含一个有效的程序段.JSP 语法<% code fragment %>例子<%String name = null;if (request.getParameter("name") == null) {%><%@ include file="error.html" %><%} else {foo.setName(request.getParameter("name"));if (foo.getName().equalsIgnoreCase("integra"))name = "acura";if (name.equalsIgnoreCase( "acura" )) {%>描述一个scriptlet能够包含多个jsp语句,方法,变量,表达式因为scriptlet,我们便能做以下的事:声明将要用到的变量或方法(参考声明).编写JSP表达式(参考表达式).使用任何隐含的对象和任何用<jsp:useBean>声明过的对象编写JSP语句(如果你在使用Java语言,这些语句必须遵从Java Language Specification,).任何文本,HTML标记,JSP元素必须在scriptlet之外当JSP收到客户的请求时,scriptlet就会被执行,如果scriptlet有显示的内容,这些显示的内容就被存在out对象中。
Include 指令在JSP中包含一个静态的文件,同时解析这个文件中的JSP语句.JSP 语法<%@ include file="relativeURL" %>例子include.jsp:CODE:--------------------------------------------------------------------------------<html> <head><title>An Include Test</title></head> <body bgcolor="white"> <font color="blue"> The current date and time are <%@ include file="date.jsp" %> </font> </body> </html>--------------------------------------------------------------------------------date.jsp:CODE:--------------------------------------------------------------------------------<%@ page import="java.util.*" %> <%= (new java.util.Date() ).toLocaleString() %>--------------------------------------------------------------------------------Displays in the page:The current date and time areAug 30, 1999 2:38:40描述<%@include %>指令将会在JSP编译时插入一个包含文本或代码的文件,当你使用<%@ include %>指命时,这个包含的过程就当是静态的。
静态的包含就是指这个被包含的文件将会被插入到JSP文件中去,这个包含的文件可以是JSP文件,HTML文件,文本文件。
如果包含的是JSP文件,这个包含的JSP的文件中代码将会被执行。
如果你仅仅只是用include 来包含一个静态文件。
那么这个包含的文件所执行的结果将会插入到JSP文件中放<% @ include %>的地方。
一旦包含文件被执行,那么主JSP文件的过程将会被恢复,继续执行下一行.这个被包含文件可以是html文件,jsp文件,文本文件,或者只是一段Java代码,但是你得注意在这个包含文件中不能使用<html>,</html>,<body>,</body>标记,因为这将会影响在原JSP文件中同样的标记,这样做有时会导致错误.有一些<%@ include %>指命的行为是以特殊的JSP编译条件为基础,比如:这个被包含的文件必须对所有客户都有开放且必须f有效,或者它有安全限制如果这个包含文件被改变,包含此文件的JSP文件将被重新编译属性:file="relativeURL"这个包含文件的路径名一般来说是指相对路径,不需要什么端口,协议,和域名,如下:"error.jsp""templates/onlinestore.html""/beans/calendar.jsp"如果这个路径以"/"开头,那么这个路径主要是参照JSP应用的上下关系路径,如果路径是以文件名或目录名开头,那么这个路径就是正在使用的JSP文件的当前路径.Page 指令定义JSP文件中的全局属性.JSP 语法<%@ page[ language="java" ][ extends="package.class" ][ import="{package.class | package.*}, ..." ][ session="true | false" ][ buffer="none | 8kb | sizekb" ][ autoFlush="true | false" ][ isThreadSafe="true | false" ][ info="text" ][ errorPage="relativeURL" ][ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ][ isErrorPage="true | false" ]%>例子<%@ page import="java.util.*, ng.*" %><%@ page buffer="5kb" autoFlush="false" %><%@ page errorPage="error.jsp" %>描述<%@ page %>指令作用于整个JSP页面,同样包括静态的包含文件。