脚本程序
脚本程序可以包括任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。
脚本程序的语法格式:<% 代码片断 %>
任何文本、HTML标签、JSP元素必须写在脚本程序的外面。
<html>
<head><title>HelloWorld</title></head>
<body>
HelloWorld!<br/>
<%
out.println("Your IP address is " +request.getRemoteAddr());
%>
</body>
</html>JSP声明
1个声明语句可以声明1个或多个变量、方法,供后面的Java代码使用。在JSP文件中,必须先声明这些变量和方法然后才能使用它们。
JSP声明的语法格式: <%!declaration; [ declaration; ]+ … %>
<%! int i =0; %>
<%! int a, b,c; %>
<%! Circle a= new Circle(2.0); %>
JSP表达式
1个JSP表达式中包括的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。
由于表达式的值会被转化成String,所以可以在1个文本行中使用表达式而不用去管它是不是是HTML标签。
表达式元素中可以包括任何符合Java语言规范的表达式,但是不能使用分号来结束表达式。
JSP表达式的语法格式: <%=表达式 %>
<html>
<head><title>AComment Test</title></head>
<body>
<p>
Today's date: <%= (newjava.util.Date()).toLocaleString()%>
</p>
</body>
</html>JSP注释
JSP注释主要有两个作用:为代码作注释和将某段代码注释掉。
JSP注释的语法格式:
<%– 这里可以填写 JSP 注释 –%>
JSP 指令
JSP指令用来设置全部JSP页面相干的属性,如网页的编码方式和脚本语言。
JSP中的3种指令标签:
<%@ page … %> 定义网页依赖属性,比如脚本语言、error页面、缓存需求等等
<%@ include … %> 包括其他文件
<%@ taglib … %> 引入标签库的定义
Page指令
<%@ page attribute="value" %>等价的XML格式:
<jsp:directive.page attribute="value" />
下表列出与Page指令相干的属性:
buffer 指定out对象使用缓冲区的大小
autoFlush 控制out对象的 缓存区,true/false,默许为true
contentType 指定当前JSP页面的MIME类型和字符编码
errorPage 指定当JSP页面产生异常时需要转向的毛病处理页面
isErrorPage 是不是可以作为另外一个JSP页面的毛病处理页面,true/false
extends 指定servlet从哪个类继承
import 导入要使用的Java类,多个包可以用逗号分割
info 定义JSP页面的描写信息,可以通过Servlet.getServletInfo()得到
isThreadSafe 指定对JSP页面的访问是不是为线程安全
language 定义JSP页面所用的脚本语言,默许是Java
session 指定JSP页面是不是使用session,true/false
isELIgnored 指定是不是履行EL表达式,true/false
isScriptingEnabled 肯定脚本元素能否被使用,true/false
trimDirectiveWhitespace 是不是去掉指令前后的空白字符,true/false
Include指令
JSP可以通过include指令来包括其他文件。被包括的文件可以是JSP文件、HTML文件或文本文件。包括的文件就好像是该JSP文件的1部份,会被同时编译履行。
Include指令的语法格式以下:
<%@ include file="relative url" %>
Include指令中的文件名实际上是1个相对的URL。如果没有给文件关联1个路径,JSP编译器默许在当前路径下寻觅。
等价的XML语法:
<jsp:directive.include file="relative url" />与<jsp:include page=”url”/>的区分:Include指令是先包括,再编译,jsp:include标签是先运行,再包括,就是说前者是把包括的文件合并到1个文件,最后编译成1个class文件;后者是两个文件单独履行,然后将结果合并到1块
Taglib指令
JSP API允许用户自定义标签,1个自定义标签库就是自定义标签的集合。
Taglib指令引入1个自定义标签集合的定义,包括库路径、自定义标签。
Taglib指令的语法:
<%@ taglib uri="uri" prefix="prefixOfTag" %>
uri属性肯定标签库的位置,prefix属性指定标签库的前缀。
等价的XML语法:
<jsp:directive.taglib uri="uri" prefix="prefixOfTag" />
JSP 动作元素
与JSP指令元素不同的是,JSP动作元素在要求处理阶段起作用。JSP动作元素是用XML语法写成的
动作元素基本上都是预定义的函数,JSP规范定义了1系列的标准动作,它用JSP作为前缀,可用的标准动作元素以下:
jsp:include 在页面被要求的时候引入1个文件。
jsp:useBean 寻觅或实例化1个JavaBean。
jsp:setProperty 设置JavaBean的属性。
jsp:getProperty 输出某个JavaBean的属性。
jsp:forward 把要求转到1个新的页面。
jsp:plugin 根据阅读器类型为Java插件生成OBJECT或EMBED标记。
jsp:element 定义动态XML元素
jsp:attribute 设置动态定义的XML元素属性。
jsp:body 设置动态定义的XML元素内容。
jsp:text 在JSP页面和文档中使用写入文本的模板
所有的动作要素都有两个属性:id属性和scope属性。
id属性:
id属性是动作元素的唯1标识,可以在JSP页面中援用。动作元素创建的id值可以通过PageContext来调用。
scope属性:
该属性用于辨认动作元素的生命周期。 id属性和scope属性有直接关系,scope属性定义了相干联id对象的寿命。 scope属性有4个可能的值:(a) page, (b)request, (c)session, 和 (d) application。
<jsp:include>动作元素
<jsp:include page="relative URL" flush="true" />以下是include动作相干的属性列表。
page 包括在页面中的相对URL地址。
flush 布尔属性,定义在包括资源前是不是刷新缓存区。
<jsp:useBean>动作元素
<jsp:useBean id="name" class="package.class" />
在类载入后,可以通过jsp:setProperty 和 jsp:getProperty 动作来修改和检索bean的属性。
以下是useBean动作相干的属性列表。
class 指定Bean的完全包名。
type 指定将援用该对象变量的类型。
beanName 通过 java.beans.Beans 的 instantiate() 方法指定Bean的名字。
<jsp:useBean id="test" class="action.TestBean" />
<!– 此句可以从request域中自动获得所有符合的属性值–>
<jsp:setProperty name="test" property="*" />
<jsp:setProperty name="test"property="message" value="HelloJSP…" /><p>Got message….</p>
<jsp:getProperty name="test" property="message" />
<jsp:setProperty>和<jsp:getProperty>
<jsp:setProperty>的属性列表
name name属性是必须的。它表示要设置属性的是哪一个Bean。
property property属性是必须的。它表示要设置哪一个属性。有1个特殊用法:如果property的值是"*",表示所着名字和Bean属性名字匹配的要求参数都将被传递给相应的属性set方法。
value value 属性是可选的。该属性用来指定Bean属性的值。字符串数据会在目标类中通过标准的valueOf方法自动转换成数字、boolean、Boolean、 byte、Byte、char、Character。例如,boolean和Boolean类型的属性值(比如"true")通过 Boolean.valueOf转换,int和Integer类型的属性值(比如"42")通过Integer.valueOf转换。 value和param不能同时使用,但可使用其中任意1个。
param param 是可选的。它指定用哪一个要求参数作为Bean属性的值。如果当前要求没有参数,则甚么事情也不做,系统不会把null传递给Bean属性的set方法。因此,你可让Bean自己提供默许属性值,只有当要求参数明确指定了新值时才修改默许属性值。
<jsp:getProperty>的属性列表
name 要检索的Bean属性名称。Bean必须已定义。
property 表示要提取Bean属性的值
<jsp:forward> 和<jsp:param>
<jsp:forward page=”url”>
<jsp:param name=”param1” value=”value1”/>
<jsp:param name=”param2” value=”value2”/>
</jsp:forward><jsp:directive>
<jsp:directive>与JSP指令相对应,可以互换
<jsp:directive.page/>
<jsp:directive.include/>
<jsp:directive.taglib/>
<jsp:element> 、 <jsp:attribute>、 <jsp:body>动作元素
<jsp:element>、 <jsp:attribute>、 <jsp:body>动作元素动态定义XML元素。动态是非常重要的,这就意味着XML元素在编译时是动态生成的而非静态。
以下实例动态定义了XML元素:
<%@page language="java" contentType="text/html"%>
<html xmlns="http://www.w3c.org/1999/xhtml"
xmlns:jsp="http://java.sun.com/JSP/Page"><head><title>Generate XML Element</title></head>
<body>
<jsp:element name="xmlElement">
<jsp:attribute name="xmlElementAttr">
Value for the attribute
</jsp:attribute>
<jsp:body>
Body for XML element
</jsp:body>
</jsp:element>
</body>
</html>履行时生成HTML代码以下:
<html xmlns="http://www.w3c.org/1999/xhtml"
xmlns:jsp="http://java.sun.com/JSP/Page"><head><title>GenerateXML Element</title></head>
<body>
<xmlElement xmlElementAttr="Value for the attribute">
Body for XML element
</xmlElement>
</body>
</html>
波比源码 » JSP语法
levofloxacin canada buy levofloxacin 500mg generic
cost lamictal 200mg vermox brand tretinoin price
prednisone uk viagra price viagra overnight shipping usa
order dapsone 100mg pills dapsone 100 mg price order aceon 8mg without prescription
zithromax order purchase zithromax pill order gabapentin 800mg online cheap
buy metoprolol 50mg without prescription purchase levitra for sale levitra oral
vardenafil 10mg over the counter pregabalin pills methylprednisolone 8mg online
roulette online for real money cialis 5mg oral purchase tadalafil sale
prednisone 40mg canada prednisone 10mg price oral amoxicillin 1000mg
buy sildenafil without prescription buy sildenafil 50mg for sale tadalafil otc
oral naproxen 500mg buy prevacid sale lansoprazole 15mg sale
cheap clarithromycin meclizine 25 mg price buy antivert 25 mg for sale
buy generic proventil oral proventil cost ciprofloxacin
order spiriva 9mcg generic buy minocin 100mg online hytrin 5mg cheap
purchase pioglitazone for sale order sildenafil 50mg generic order sildenafil 100mg pills
cialis india Cialis overnight tadalafil pill
casino online games free spins casino pala casino online
nifedipine 10mg price nifedipine sale allegra 120mg pill
poker online for real money pay for essay writing uk help write my paper
ramipril 5mg without prescription purchase glimepiride pill order arcoxia 120mg pill
mesalamine 400mg drug order azelastine sprayer buy avapro 150mg sale
oral diamox 250mg generic acetazolamide 250 mg azathioprine buy online
buy clobetasol for sale order clobetasol online cheap cordarone 200mg tablet
buy lanoxin online micardis order online buy molnunat pills
alendronate 70mg canada buy nitrofurantoin 100mg purchase ibuprofen generic
buy pepcid pills prograf 5mg pill buy mirtazapine sale
requip 2mg drug ropinirole 2mg for sale cost trandate 100 mg
order tadacip sale tadacip uk buy trimox 250mg
order generic fenofibrate purchase tricor generic viagra order
tadalafil 40mg ca How to get cialis buy sildenafil 50mg online cheap
glucophage 500mg without prescription calan cost buy generic nolvadex 10mg
buy serophene sale clomiphene over the counter prednisolone 5mg cost
prednisone tablet buy deltasone 5mg online amoxicillin 500mg uk
order generic sildenafil 100mg fildena 100mg canada finasteride 5mg usa