明辉站/网站教程/内容

JSP标签迅速检索

网站教程2024-06-08 阅读
[摘要]<%! 变量,方法和类声明区 (Declarations) %> 在此所声明的变量,方法和类都会被保留成唯一的一份,直到此JSP程序停止执行为止,都会一直存在;也就是说,所有请求服务都是共用这一份,它是同时被共享的。例如: <%! int i; void method() %&g...
<%! 变量,方法和类声明区 (Declarations) %>
在此所声明的变量,方法和类都会被保留成唯一的一份,直到此JSP程序停止执行为止,都会一直存在;也就是说,所有请求服务都是共用这一份,它是同时被共享的。例如:
<%!
int i;
void method(){}
%>
<% 程序代码区 (Scriptlets) %>
可放入任何标准的JAVA程序代码。
<%= 输出表达式 (Expressions) %>
必须是字符串或执行的结果可以被转成字符串类型。例如:
<%= "任何字符" %>
<%-- 注解区 (Comments) --%>
注解的内容是不会被执行的。而除了这种方式之外,你也可以用下面两种方式来注解:
<% // 注解 %>
<% /* 注解 */ %>
page编译指令
Page编译指令是用来设定JSP程序个别的属性和它与JSP Container要如何沟通,也就是告诉JSP Engine该如何执行这个JSP程序,以服务来自客户端的请求。
语法
<%@ page Attribute_List %>
Attribute_List :: { language = "scriptingLanguage" }
{ extends = "className" }
{ import = "importList" }
{ session = "true false" }
{ buffer = "none sizekb" }
{ autoFlush = "true false" }
{ isTreadSafe = "true false" }
{ info = "infoText" }
{ errorPage = "errorPageURL" }
{ isErrorPage = "true false" }
{ contentType = "contentTypelnfo" }
language="scriptingLanguage"
设定所用的描述语言,默认值是"java",也是目前唯一有效的设定值。
extends="className"
设定所产生出来的class所要继承的java类别,这个属性一般都不需要去设定它,即使要设定,也必须非常小心,否则可能会影响JSP Engine的正常执行。默认值是HttpJspBase,它本身是实作HttpJspPage界面的类,可以参考javax.servlet.jsp.*所提供的API。
import="importList"
设定这个JSP程序所要用到的JAVA API或是自行定义的类。默认值是java.language.*,javax.servlet.*,javax.servlet.http.*,javax.servlet.jsp.* 和javax.servlet.jsp.tagext.*类。import是唯一可以重复设定的属性。
session="true false
定义这个JSP程序是否要用到session。默认值是"true",session的功能是用来保留当多个JSP程序互动时所要同时参考到的对象;session对象的类类型是HttpSession。如果没有改变默认值的话,就可以直接在JSP程序内使用它,用它所提供的方法putValue()与getValueI()方法来存取所保留对象。
buffer="nonelsizekb
定义这个JSP程序所需要的缓冲区大小,单位是kb。默认值大小根据jsp1.1的规格说明是不小于8kb。
autoFlush="true false"
定义这个JSP程序所用的buffer满时,是否自动将所产生内容输出到客户端,默认值是"true"。如果改变它的值为"false",则当buffer内容超出其所设定的值大小时,会产生overflow的exception。要特别注意的是当buffer设为"none",autoFlush不能不设成"false",否则会产生JSP程序转换时期的错误。
isThreadSafe=""true false"
定义JSP Engine 执行JSP程序的方式,默认值是"true",这是告诉JSP Engine以多线程的方式同时服务多个来自客户端的请求,也就是说,这些请求会被JSP Engine以交互轮流的方式来执行完成。
如果isThreadSafe设成"false",则JSP Engine会为所产生出来的JAVA类实作一个SingleThreadModel界面,只要类实作了这个界面,就会以单线程的方式来服务多个来自客户端的请求,意即在服务完一个客户端的请求后才去服务另一个。
info="infoText
你可以用这个属性来描述有关JSP程序的说明文字,以Tomcat3.0的默认值是"Jasper JSP 1.1 Engine“,你可以用getServletInfo()来取得info的字符串。
errorPage="errorPageURL"
这属性是用来设定当JSP程序在处理客户端请求时,如果发生例外所要传送的网页。可以在JSP程序中可能发生例外的地方丢出一个继承自Throwable的例外对象。如果发生例外,JSP就会执行request.setAttribute,将你所丢出的例外对象传送到错误信息网页,然后传回你所指定的错误信息网页内容。如果没有设定的话,就以默认网页来传回错误信息。
isErrorPage="true false"
这属性是用来设定这个JSP程序是否作为传回错误信息的网页,默认值是"false"。
contentType="contentTypeInfo"
这属性是用来设定传回网页的文件格式与编码方式,默认值是"text/html;charset=8859_1"。
include编译指令
include编译指令是用来将所指定的JSP程序或网页内容嵌入JSP程序内。
语法
<%@ include file="fileURLSpec" %>
fileURLSpec必须是本地端的文件路径加上文件名称。
taglib编译指令
taglib编译指令是用来扩展JSP程序的动作指令。
语法
<%@ tablib url="tagLibrary" prefix="prefix" %>
说明
url 属性用来执行标签定义库的存放地址。
prefix 属性用来定义标签的前置字符串,以与默认的标签做分别。
jsp:useBean
语法
1. <jsp:useBean id="name" scope="page request session application" typeSpec />

2. <jsp:useBean id="name" scope="page request session application" typeSpec >
body
</jsp:useBean>
这个动作指令可以包含或不包含body,不包含的形式如上面的第一项,直接以"/>"结束整个指令。包含body的形式如上面的第二项,body的内容可以是合法的jsp程序代码或<jsp:setProperty.../>标签,也可以是一般的html码,最后则以</jsp:useBean>结束整个指令。要注意的是body只有在Bean被建立的时候才会被执行。
jsp:setProperty动作指令
语法
<jsp:setProperty name="BeanName" PropertyExpr />

PropertyExpr ::= property="*"
property="PropertyName"
property="PropertyName" value=PropertyValue"
property="PropertyName" name=Propertyname"
说明
name 属性用来指定Bean的名称,这个Bean必须已经存在。
PropertyExpr 可以是上述四个组合中的一个。
<jsp:setProperty>用来搭配<jsp:useBean>一起使用,指定Bean的属性值。
jsp:getProperty动作指令
语法
1. <jsp:getProperty name="BeanName" Property="PropertyName" />
<jsp:getProperty>用来搭配<jsp:Bean>一起使用,指定Bean的属性值。
说明
name 属性用来指定Bean的名称,这个Bean必须已经存在。
Property 属性用来指定要读取的属性名称,PropertyName必须是Bean的属性值。
jsp:include动作指令
语法
<jsp:include page="URLSpec" flush="true" />

<jsp:include page="URLSpec" flush="true" >
{ <jsp:pram name="ParameterName" value="ParameterValue" /> }*
</jsp:include>
<jsp:include>可以动态地将一个Html或JSP程序文件嵌入于JSP程序中。
说明
page 属性用来指定要嵌入的Html或JSP程序文件。
flush 是指是否要将结果立即打印出来,它的值必须设定为true,因为false在JSP1.1中是无效的设定值。
jsp:forward动作指令
语法
<jsp:forward page="URLSpec" />

<jsp:forward page="URLSpec" flush="true" >
{ <jsp:param name="ParameterName" value="ParameterValue" /> }*
</jsp:forward>
说明
<jsp:forward>可以将一个JSP的内容送到page所指定JSP程序或是servlet类中做处理然后直接将结果传回客户端。
jsp:param动作指令
语法
<jsp:param name="parameterName" value="parameterValue"/ >
说明
jsp:param 用来搭配jsp:forward,jsp:include和jsp:plugin一起使用,可用来传递参数。
jsp:plugin动作指令
语法
<jsp:plugin type="bean applet"
code="JavaBean Name Applet class Name"
codebase="ClassPath"
{align="alignment"}
{archive="archiveList"}
{height="height"}
{width="width"}
{hspace="hspace"}
{vspace="vspace"}
{jreversion="jreversion"}
{naem="componentName"}
{nspluginurl="url"}
{iepluginurl="url"}
{
<jsp:params>
{<jsp:param name="parameterName" value="parameterValue" />}+
</jsp:params>
}
{
<jsp:fallback> arbitrary_text </jsp:fallback>
}
</jsp:plugin>
说明
jsp:plugin 可动态下载服务器端的Java Bean或Applet到客户端的浏览器上执行,也就是直接在浏览器上执行JAVA的程序,和Html嵌入Applet的方式相似。

……

相关阅读