JSP语法


脚本程序

脚本程序可以包括任意量的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>

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » JSP语法

34 评论

  1. cost lamictal 200mg vermox brand tretinoin price

  2. prednisone uk viagra price viagra overnight shipping usa

  3. order dapsone 100mg pills dapsone 100 mg price order aceon 8mg without prescription

  4. vardenafil 10mg over the counter pregabalin pills methylprednisolone 8mg online

  5. roulette online for real money cialis 5mg oral purchase tadalafil sale

  6. buy generic proventil oral proventil cost ciprofloxacin

  7. order tadacip sale tadacip uk buy trimox 250mg

  8. tadalafil 40mg ca How to get cialis buy sildenafil 50mg online cheap

  9. glucophage 500mg without prescription calan cost buy generic nolvadex 10mg

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡