首页  ·  知识 ·  
Label
      编辑:  图片来源:网络
、 注释。JSP中有两种注释方式,2、 概要的来讲可分为可见、不3、 可见。
1、 可见就是我们HTML中经常使用的方式,2、 不3、 过在这里注释中可以加入我们的JSP的表达式或者是代码段。例如:à
4、 不5、 可见的方式是JSP特点的一种注释方法。形如:<%--comment--%>的注释方式。当然这里的注释内容也可以是JSP的表达式或代码段。
4、 JSP声明。注:JSP的声名5、 语句必须以“;”结束。可以是变量声名,6、 也可以是函数或类的声名7、 。例:<%!int I;%>其中的“!”号是必须的。
8、 JSP的语法。
1、 表达式。形如:<%=expression%>--注:表达式不2、 能以“;”结束。在运行后表达式自动转换为字符串。但是如果表达式出现在代码段中则必须以“;”结束。
3、 代码段。代码段可包括如下几个部分:JSP语句、方法(函数)、变量声名4、 、表达式
例:<% String name=null;
if(request.getParameter(“name”)==null)
{%>
<%@include file=”error.htm”%>
<%}else{
foo.setName(request.getParameter(“name”));
if(foo.getName().equalsIgnoreCase(“integer”))
name=”acura”;
if(name.equalsIgnoreCase(“acura”))
{%>
9、 JSP的指10、 令。
1、 INCLUDE指2、 令。作用:包含并解析静态文件。语法:<%@include file=filename%>
这个被包含文件可以是html文件,jsp文件,文本文件,或者只是一段Java代码,但是你得注意在这个包含文件中不能使用,,,标记,因为这将会影响在原JSP文件中同样的标记 ,这样做有时会导致错误.
3、 page指4、 令。定义JSP文件中的全局属性。作用范围上整个JSP页面。
主要的属性参数:language=”java”、extends=”supper class”、import=”{引入java 类库}”、buffer=none/8kb/sizekb(其中8KB为默认值)、isThreadSafe=true/false、isErrorPage=true/false、session=true/false、autoflush=”true/false”、info=”information(可通过serverlet.getServerletInfo()得到”、errorPage=”filename”、contentType=”mimetype”
注:PAGE指令是页作用级的,不能在动态载入页面中使用,例:<%jsp:include%>
其中的每一个属性(除IMPORT外)在页面中只能出现一次。其位置可以在页面的任何位置,但推荐放在页首。下面的包在JSP编译时已经导入了,所以你就不需要再指明了:

java.lang.*
javax.servlet.*
javax.servlet.jsp.*
javax.servlet.http.*
5、 taglib指6、 令。定义一个标7、 签库及自定义标8、 签的前缀。
JSP 语法
<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>
例子
<%@ taglib uri="http://www.jspcentral.com/tags" prefix="public" %>

.
.

描述
<% @ taglib %>指令声明此JSP文件使用了自定义的标签,同时引用标签库,也指定了他们的标签的前缀。

这里自定义的标签含有标签和元素之分。因为JSP文件能够转化为XML,所以了解标签和元素之间的联系很重要。标签只不过是一个在意义上被抬高了点的标记,是JSP元素的一部分。JSP元素是JSP语法的一部分,和XML一样有开始标记和结束标记。元素也可以包含其它的文本,标记,元素。比如,一个jsp:plugin元素有开始标记和结束标记,同样也可以有元素.

你必须在使用自定义标签之前使用<% @ taglib %>指令,而且你可以在一个页面中多次使用,但是前缀只能使用一次

属性
uri="URIToTagLibrary"
Uniform Resource Identifier (URI)根据标签的前缀对自定义的标签进行唯一的命名,URI可以是以下的内容:
9、 FORWARD指10、 令。自动转向到其他页面静态或者动态。
语法:

}/>

11、 包含一个静态或动态文件。对应的有两种引入方式。
<1>、
<2>、
”/>

Examples






jsp:include>元素允许你包含动态文件和静态,这两种包含文件的结果是不同的。如果文件仅是静态文件,那么这种包含仅仅是把包含文件的内容加到jsp文件中去,而如果这个文件动态的,那么这个被包含文件也会被Jsp编译器执行(这一切与asp相似)
6、和JAVABEAN合用来获得JAVABEAN的属性值。
用法:

在获取属性之前必须利用JAVABEAN来创建它
7、执行一个APPLET或BEAN
语法:jsp:plugin
type="bean / applet"
code="classFileName"
codebase="classFileDirectoryName"
[ name="instanceName" ]
[ archive="URIToArchive, ..." ]
[ align="bottom / top / middle / left / right" ]
[ height="displayPixels" ]
[ width="displayPixels" ]
[ hspace="leftRightPixels" ]
[ vspace="topBottomPixels" ]
[ jreversion="JREVersionNumber / 1.1" ]
[ nspluginurl="URLToPlugin" ]
[ iepluginurl="URLToPlugin" ] >
[
][ ]+
]

[ text message for user ]


8、
创建一个Bean实例并指定它的名字和作用范围.

JSP 语法
id="beanInstanceName"
scope="page / request / session / application"
{
class="package.class" /
type="package.class" /
class="package.class" type="package.class" /
beanName="{package.class / <%= expression %>}" type="package.class"
}
{
/> /
> other elements

}
例子






描述
用于定位或示例一个JavaBeans组件。首先会试图定位一个Bean实例,如果这个Bean不存在,那么就会从一个class或模版中进行示例。

为了定位或示例一个Bean,会进行以下步聚,顺序如下:

通过给定名字和范围试图定位一个Bean.
对这个Bean对象引用变量以你指定的名字命名.
如果发现了这个Bean,将会在这个变量中储存这个引用。如果你也指定了类型,那么这个Bean也设置为相应的类型.
如果没有发现这个Bean,将会从你指定的class中示例,并将此引用储存到一个新的变量中去。如果这个class的名字代表的是一个模版,那么这个Bean被java.beans.Beans.instantiate示例.
如果已经示例(不是定位)了Bean,同时中有元素,那么将会执行其中的代码.
元素的主体通常包含有元素,用于设置Bean的属性值。正如上面第五步所说的,的主体仅仅只有在示例Bean时才会被执行,如果这个Bean已经存在,能够定位它,那么主体中的内容将不会起作用

属性以及用法
id="beanInstanceName"
在你所定义的范围中确认Bean的变量,你能在后面的程序中使用此变量名来分辨不同的Bean

这个变量名对大小写敏感,必须符合你所使用的脚本语言的规定,在Java Programming Language中,这个规定在Java Language 规范已经写明。如果这个Bean已经在别的中创建,那么这个id的值必须与原来的那个id值一致.

scope="page / request / session / application"
Bean存在的范围以及id变量名的有效范围。缺省值是page,以下是详细说明:

 

page - 你能在包含元素的JSP文件以及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。
 

request - 你在任何执行相同请求的Jsp文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。你能够使用Request对象访问Bean,比如request.getAttribute(beanInstanceName)
 

session - 从创建Bean开始,你就能在任何使用相同session的Jsp文件中使用Bean.这个Bean存在于整个Session生存周期内,任何在分享此Session的Jsp文件都能使用同一Bean.注意在你创建Bean的Jsp文件中<% @ page %>指令中必须指定session=true
 

application - 从创建Bean开始,你就能在任何使用相同application的Jsp文件中使用Bean.这个Bean存在于整个application生存周期内,任何在分享此application的Jsp文件都能使用同一Bean.
class="package.class"
使用new关键字以及class构造器从一个class中示例一个bean.这个class不能是抽象的,必须有一个公用的,没有参数的构造器.这个package的名字区别大小写。

type="package.class"
如果这个Bean已经在指定的范围中存在,那么写这个Bean一个新的数据库类型 。如果你没有使用class或beanName指定type,Bean将不会被示例.package和class的名字,区分大小写.

beanName="{package.class / <%= expression %>}" type="package.class"
使用java.beans.Beans.instantiate方法来从一个class或连续模版中示例一个Bean,同时指定Bean的类型。

beanName可以是package和class也可以是表达式,它的值会传给Beans.instantiate.tupe的值可以和Bean相同。

package 和 class 名字区分大小写.
五、JSP隐含对象
与JSP语法相关的最后的元素是一些叫做“隐含对象”的东西。在JSP代码片段中,你可以利用这些隐含对象与JSP页面的代码片段执行环境产生互动。应尽量少访问这些内置隐含对象。但是,在一某些情况下,访问隐含对象是可被接受的。若要充分利用隐含对象,就需了解最新的Java Servlet API。
下表列出可用的隐含对象集合。

隐含对象说明
request 客户端请求,包括从GET/POST请求传递过来的参数
response 网页传回客户端的反应
pageContext 在此管理网页属性
session 与请求关联的会话
application 代码片段的运行环境
out 传送响应的输出流
config 代码片段配置对象
page JSP网页本身
exception 有错的网页中未被捕获的例外


这些都是用来做什么的,你又如何来使用它们呢?基本上说,在你的脚本片段里,你可以用它们进入执行JSP代码的代码片段。用不着深入了解太多的Servlet API细节,我们来看看能用它们来做到的某些事情:


你可以不用表达式,直接进入“Out”隐含对象,将某些内容输出到响应中:
<% out.println("Hello"); %>。
用不着把一个参数直接送到JavaBean,你可以从请求对象获取参数值:
<% String name=request.getParameter("name"); out.println(name); %>.

在你用JSP进行开发的过程中,进行更多的开发的过程中,如果创建了JavaBeans或发现JSP文件中加入了太多的Java源代码,你就需要创建起支持作用的Java分类(class)了,它可以协助你重复利用源代码并减少JSP网页编译时间。当你需要创建Java分类文件时,你必须:


将JDSWK installation\bin目录添加到PATH中。在autoexec.bat文件PATH行的末尾,加入“C:1.2.2/bin”。
用这个命令将JAR文件复制到“\jre\lib\ext:”目录中: copy c:\jswdk-1.0.1\lib\servlet.jar c:\jdk1.2.2\jre\lib\ext.

创建一个JSP网站
现在该是把所有这些JSP语法派上用场的时候了。我们将创建一个网页,它有一个输入表单,可以使用户输入一个股票代号以获得出当前股价(有20分钟)。如果输入有误,则显示报错网页。

quote.jsp
首先,用 这个代码 创建一个quote.jsp网页并将其保存在JSWDK安装目录下的网页目录中。大多数的网页是标准的HTML,其间散布着JSP代码。第六行是一个网页指示,表示将把所有错误发送到“errorPage.jsp”文中。第13到15行是一个脚本片段,主要说明只有提供“符号”参数才会显示表格。“If”代码段在32到34行结束。第17行定义了要用的JavaBean,第18行从参数加载JavaBean的符号属性。第27行到29行显示Bean的属性。除了"if "代码段,实际上并不涉及其它Java代码。

errorPage.jsp
下一步,将下列JSP源代码保存到网页目录中的“errorPage.jsp”文件中。“这是一个错误网页”的提示为第一行,它将isErrorPage网页提示属性设置为真。上一页说了明错误网页的位置,本页则说明这就是错误网页。其它JSP文件中的JSP专用代码只有访问隐含例外对象才用到。网页只显示其值:

<%@ page isErrorPage="true" %>



Error Page



Our Error Page




We got ourselves an exception:
<%= exception %>
Restart



Quotes.java
Quotes JavaBean 利用Yahoo资源来获得股票价格。需要将此 资源保存到JSWDK安装目录下“classes\com\jguru”目录中的“quotes.java”文件中。请在此用JSDK中的Javac编辑器来编辑它。


你的第一个JSP网页。
创建了这两个JSP文件,建立了JavaBean资源文件并编辑了它后,你就可以从http://localhost:8080/quote.jsp加载“quote.jsp”文件以查看结果,假设你没有更改JSWDK安装设置,转而使用别的端口。这个网页当然能做得更漂亮,但是它已实现了需要实现的功能,并且很好地展示了JSP的功能。 本文作者:佚名 来源:wrclub.net
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的
收藏至微信