属性
language="java"
声明脚本语言的种类,暂时只能用"java"
extends="package.class"
标明jsp编译时需要加入的java class的全名,但是得慎重的使用它,它会限制jsp的编译能力.
import="{package.class | package.* }, ..."
需要导入的java包的列表,这些包就作用于程序段,表达式,以及声明。
下面的包在jsp编译时已经导入了,所以你就不需要再指明了:
java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*
session="true | false"
设定客户是否需要http session.(学过asp的人,应该对它不陌生)如果它为true,那么session是有用的。
如果它有false,那么你就不能使用session对象,以及定义了scope=session的<jsp:usebean>元素。这样的使用会导致错误.
缺省值是true.
buffer="none | 8kb | sizekb"
buffer的大小被out对象用于处理执行后的jsp对客户浏览器的输出。缺省值是8kb
autoflush="true | false"
设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoflush设置为false.
isthreadsafe="true | false"
设置jsp文件是否能多线程使用。缺省值是true,也就是说,jsp能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求
info="text"
一个文本在执行jsp将会被逐字加入jsp中,你能够使用servlet.getservletinfo方法取回。
errorpage="relativeurl"
设置处理异常事件的jsp文件。
iserrorpage="true | false"
设置此页是否为出错页,如果被设置为true,你就能使用exception对象.
contenttype="mimetype " | "text/html;charset=iso-8859-1"
设置mime类型 。缺省mime 类型是: text/html, 缺省字符集为 iso-8859-1.
<jsp:forward>
重定向一个html文件,jsp文件,或者是一个程序段.
jsp 语法
<jsp:forward page={"relativeurl" | "<%= expression %>"} />
or
<jsp:forward page={"relativeurl" | "<%= expression %>"} >
<jsp:param name="parametername"
value="{parametervalue | <%= expression %>}" />+
</jsp:forward>
例子
<jsp:forward page="/servlet/login" />
<jsp:forward page="/servlet/login">
<jsp:param name="username" value="jsmith" />
</jsp:forward>
描述\r
<jsp:forward>标签从一个jsp文件向另一个文件传递一个包含用户请求的request对象.<jsp:forward>标签以下的代码,将不能执行.
你能够向目标文件传送参数和值,在这个例子中我们传递的参数名为username,值为scott,如果你使用了<jsp:param>标签的话,目标文件必须是一个动态的文件,能够处理参数.
如果你使用了非缓冲输出的话,那么使用<jsp:forward>时就要小心。如果在你使用<jsp:forward>之前,jsp文件已经有了数据,那么文件执行就会出错.
属性
page="{relativeurl | <%= expression %>}"
这里是一个表达式或是一个字符串用于说明你将要定向的文件或url.这个文件可以是jsp,程序段,或者其它能够处理request对象的文件(如asp,cgi,php).
<jsp:param name="parametername" value="{parametervalue | <%= expression %>}" />+
向一个动态文件发送一个或多个参数,这个文件一定是动态文件.
如果你想传递多个参数,你可以在一个jsp文件中使用多个<jsp:param>。name指定参数名,value指定参数值.
<jsp:getproperty>
获取bean的属性值,用于显示在页面中
jsp 语法
<jsp:getproperty name="beaninstancename" property="propertyname" />
例子
<jsp:usebean id="calendar" scope="page" class="employee.calendar" />
<h2>
calendar of <jsp:getproperty name="calendar" property="username" />
</h2>
描述\r
这个<jsp:getproperty>元素将获得bean的属性值,并可以将其使用或显示在jsp页面中.在你使用<jsp:getproperty>之前,你必须用<jsp:usebean>创建它.
<jsp:getproperty>元素有一些限制:
你不能使用<jsp:getproperty>来检索一个已经被索引了的属性
你能够和javabeans组件一起使用<jsp:getproperty>,但是不能与enterprise bean一起使用。
属性
name="beaninstancename"
bean的名字,由<jsp:usebean>指定
property="propertyname"
所指定的bean的属性名。
技巧:
在sun的jsp参考中提到,如果你使用<jsp:getproperty>来检索的值是空值,那么nullpointerexception将会出现,同时如果使用程序段或表达式来检索其值,那么在浏览器上出现的是null(空).
<jsp:include>
包含一个静态或动态文件.
jsp 语法
<jsp:include page="{relativeurl | <%= expression%>}" flush="true" />
or
<jsp:include page="{relativeurl | <%= expression %>}" flush="true" >
<jsp:param name="parametername" value="{parametervalue | <%= expression %>}" />+
</jsp:include>
examples
<jsp:include page="scripts/login.jsp" />
<jsp:include page="copyright.html" />
<jsp:include page="/index.html" />
<jsp:include page="scripts/login.jsp">
<jsp:param name="username" value="jsmith" />
</jsp:include>
描述\r
<jsp:include>元素允许你包含动态文件和静态,这两种包含文件的结果是不同的。如果文件仅是静态文件,那么这种包含仅仅是把包含文件的内容加到jsp文件中去,而如果这个文件动态的,那么这个被包含文件也会被jsp编译器执行(这一切与asp相似)
你不能从文件名上判断一个文件是动态的还是静态的,比如aspcn.asp 就有可能只是包含一些信息而已,而不需要执行。<jsp:include>能够同时处理这两种文件,因此你就不需要包含时还要判断此文件是动态的还是静态的.
如果这个包含文件是动态的,那么你还可以用<jsp:param>还传递参数名和参数值。
属性
page="{relativeurl | <%= expression %>}"
参数为一相对路径,或者是代表相对路径的表达式.
flush="true"
这里你必须使用flush="true",你不能使用false值.缺省值为false
<jsp:param name="parametername" value="{parametervalue | <%= expression %> }" />+
<jsp:param>子句能让你传递一个或多个参数给动态文件
你能在一个页面中使用多个<jsp:param>来传递多个参数,
<jsp:plugin>
执行一个applet或bean,有可能的话还要下载一个java插件用于执行它.
jsp 语法
<jsp:plugin
type="bean | applet"
code="classfilename"
codebase="classfiledirectoryname"
>
+
</jsp:params> ]
</jsp:plugin>
例子
<jsp:plugin type=applet code="molecule.class" codebase="/html">
<jsp:params>
<jsp:param name="molecule" value="molecules/benzene.mol" />
</jsp:params>
<jsp:fallback>
<p>unable to load applet</p>
</jsp:fallback>
</jsp:plugin>
描述\r
<jsp:plugin>元素用于在浏览器中播放或显示一个对象(典型的就是applet和bean),而这种显示需要在浏览器的java插件。
当jsp文件被编译,送往浏览器时,<jsp:plugin>元素将会根据浏览器的版本替换成<object>或者<embed>元素。注意,<object>用于html 4.0 ,<embed>用于html 3.2.
一般来说,<jsp:plugin>元素会指定对象是applet还是bean,同样也会指定class的名字,还有位置,另外还会指定将从哪里下载这个java插件。具体如下:
属性
type="bean | applet"
.将被执行的插件对象的类型,你必须得指定这个是bean还是applet,因为这个属性没有缺省值.
code="classfilename"
将会被java插件执行的java class的名字,必须以.class结尾。这个文件必须存在于codebase属性指定的目录中.
codebase="classfiledirectoryname"
将会被执行的java class文件的目录(或者是路径),如果你没有提供此属性,那么使用<jsp:plugin>的jsp文件的目录将会被使用.

