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语法

1 评论

发表评论

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

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