插件名字
版本
类型
作者
IBM Java Server Pages
1.0.0
Suite
IBM Corporation
JavaServer Pages (JSP) 是一种结合了跨平台与跨网站服务器支持,以 Java为主的来产生动态网页的技术。JSP与微软的Active Server Pages(ASP) 相似,但它是使用类似HTML的标签以及Java程式码片段而不是VBScript。当你所使用的网站服务器没有提供本地ASP支援,也就是Apache或Netscape服务器时,就可以考虑使用JSP。
JSP 是以 Servlet 技术为基础,又在许多方面作了改进。 JSP 页面看起来象普通 HTML页面,但它允许嵌入执行代码,在这一点上,它和ASP 技术非常相似。利用跨平台运行的 JavaBean 组件, JSP为分离处理逻辑与显示样式提供了卓越的解决方案。 JSP 必将成为 ASP 技术的有力竞争者。
IBM Java Server Pages是一款Suite类型插件,它用IBM WebSphere Application Server支持,在Dreamweaver环境下做JSP文件,使Dreamweaver可以创建动态网站。
WebSphere Application Server可以工作在主要的网络服务器上并且可以运行在绝大多数的平台上。利用WebSphere Application Server,Dreamweaver用户可以快速而且简单地增加动态数据以及其它的交互式特性。
1.首先安装这个插件了。
完成后如下
2.访问Java Server Pages对象
为了访问Java Server Pages对象,可以打开Object palette(对象面板),具体选择Window->Objects,Java Server Pages对象如图2所示。
||||||3.该插件包含以下15个对象:
(1)jsp:directive.page;定义JSP文件中的全局属性。
(2)jsp:forward;重定向一个HTML文件,JSP文件,或者是一个程序段
(3)jsp:include;include编译器指引让你将你的内容分成几个可管理的元件,就像那些有表头或注脚的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页。
(4)jsp:useBean;在 <jsp:useBean> 标记内定义了几个属性,其中 id 是整个 JSP 页面内该 Bean 的标识,scope 属性定义了该 Bean 的生存时间,class 属性说明了该 Bean 的类文件(从包名开始)。
(5)jsp:setProperty;设置Bean中的属性值
(6)jsp:getProperty;获取Bean的属性值,用于显示在页面中。< jsp:getProperty> 中的 name 属性即为 <jsp:useBean> 中定义的 Bean 的 id ,它的 property 属性指定的是目标属性的名字。
(7)Comment;可以是在客户端显示一个注释,或者是写在JSP程序中,但不是发给客户。
(8)Expression;包含一个符合JSP语法的表达式。
(9)Scriptlet;包含一个有效的程序段。
(10)tsx:dbconnect;执行数据库连接。
(11)tsx:dbmodify;选择数据库,并且执行SQL插入(Insert)、更新(Update)或者删除(Delete)语句。
(12)tsx:dbquery;选择数据库,并且执行SQL选择(Select)语句。
(13)tsx:setProperty;设置Bean中的属性值
(14)tsx:getProperty;获取Bean的属性值,用于显示在页面中。
(15)tsx:repeat;在一个循环种显示数据。
||||||下面具体来说明:
⑴jsp:directive.page定义JSP文件中的全局属性。
在面板上点击jsp:directive.page图标,如图所示。
回想JSP的page指令的语法如下:
<%@ page
[ language="java" ]
[ extends="package.class" ]
[ import="{package.class | package.*}, ..." ]
[ session="true | false" ]
[ buffer="none | 8kb | sizekb" ]
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
[ isErrorPage="true | false" ]
%>
而现在使用了IBM Java Server Pages插件以后,轻松地点击jsp:directive.page图标就可以产生以下的JSP代码:
<jsp:directive.page language="java" session="true" buffer="16k" autoFlush="true" isThreadSafe="true" isErrorPage="false" contentType="text/html; charset=iso-8859-1" />
这样不仅编制程序的效率提高了,而且也更易于编制出JSP网页。
对以上代码描述如下:
<jsp:derective.page>指令作用于整个JSP页面,同样包括静态的包含文件。但是<jsp:derective.page>指令不能作用于动态的包含文件,比如 <jsp:include>.
你可以在一个页面中用上多个<jsp:derective.page>指令,但是其中的属性只能用一次,不过也有个例外,那就是import属性。因为import属性和Java中的import语句差不多(参照Java Language),所以你就能多用此属性几次了.
无论你把<jsp:derective.page>指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部.
<jsp:derective.page>的属性有:
language="java"
声明脚本语言的种类,暂时只能用"java"
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>元素,这样的使用会导致错误. IBM Java Server Pages插件的缺省值是true.
buffer="none | 8kb | sizekb"
buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。IBM Java Server Pages插件的缺省值是16kb .
autoFlush="true | false"
设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoFlush设置为false. IBM Java Server Pages插件的缺省值是true.
isThreadSafe="true | false"
设置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求. IBM Java Server Pages插件的缺省值是true.
isErrorPage="true | false"
设置此页是否为出错页,如果被设置为true,你就能使用exception对象. IBM Java Server Pages插件的缺省值是false.
contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1"
设置MIME类型 。缺省MIME 类型是: text/html, 缺省字符集为 ISO-8859-1.
||||||⑵jsp:forward,重定向一个HTML文件,JSP文件,或者是一个程序段 在面板上点击jsp:directive.page图标,如图所示。
当点击jsp:directive.page图标以后,出现以下对话框,如图5所示:
(图5)
如图5,你可以在上面的Target Page方框中填入要重定向到的目标网页。比如page1.jsp等等。点击OK键后,立即产生以下的语句:
<jsp:forward page="page1.jsp" />
<jsp:forward>标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象.<jsp:forward>标签以下的代码,将不能执行.
⑶jsp:include,include编译器指引让你将你的内容分成几个可管理的元件,就像那些有表头或注脚的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页。
在面板上点击jsp:include图标,如图6所示。
当点击jsp:include图标以后,出现以下对话框,如图7所示:
(图7)
如图7,你可以在上面的File to include方框中填入要包含的文件,如page1.jsp等等。
Include指命可以在JSP中包含一个静态的文件,同时解析这个文件中的JSP语句.
如果感兴趣的话,可以查看一下代码:
<jsp:include page="page1.jsp" flush="true" />
这是IBM Java Server Pages插件自动产生的。
< jsp:include >指命将会在JSP编译时插入一个包含文本或代码的文件,当你使用< jsp:include >指命时,这个包含的过程就当是静态的。静态的包含就是指这个被包含的文件将会被插入到JSP文件中去,这个包含的文件可以是JSP文件,HTML文件,文本文件。如果包含的是JSP文件,这个包含的JSP的文件中代码将会被执行。
如果你仅仅只是用include 来包含一个静态文件。那么这个包含的文件所执行的结果将会插入到JSP文件中放< jsp:include >的地方。一旦包含文件被执行,那么主JSP文件的过程将会被恢复,继续执行下一行.
这个被包含文件可以是html文件,jsp文件,文本文件,或者只是一段Java代码,但是你得注意在这个包含文件中不能使用<html>,</html>,<body>,</body>标记,因为这将会影响在原JSP文件中同样的标记 ,这样做有时会导致错误.
IBM Java Server Pages插件jsp:include对象的属性page="page1.jsp"
这个包含文件的路径名一般来说是指相对路径,不需要什么端口,协议,和域名,如下:
"error.jsp""/templates/onlinestore.html""/beans/calendar.jsp"
如果这个路径以"/"开头,那么这个路径主要是参照JSP应用的上下关系路径,如果路径是以文件名或目录名开头,那么这个路径就是正在使用的JSP文件的当前路径.
||||||⑷jsp:useBean,在 <jsp:useBean> 标记内定义了几个属性,其中 id 是整个 JSP 页面内该 Bean 的标识,scope 属性定义了该 Bean 的生存时间,class 属性说明了该 Bean 的类文件(从包名开始)。实际上<jsp:useBean>是创建一个Bean实例并指定它的名字和作用范围.
在面板上点击jsp: useBean图标,如图所示
。当点击jsp: useBean图标以后,出现以下对话框,如图9所示:
(图9)
如图9,在Bean Class方框中填入Bean 类,IBM Java Server Pages插件就自动产生以下的语句:
<jsp:useBean id="bean1" scope="page" class="Bean1">
</jsp:useBean>
具体描述如下:
<jsp:useBean>用于定位或示例一个JavaBeans组件。<jsp:useBean>首先会试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一个class或模版中进行示例。
为了定位或示例一个Bean,<jsp:useBean>会进行以下步聚,顺序如下:
通过给定名字和范围试图定位一个Bean.
对这个Bean对象引用变量以你指定的名字命名.
如果发现了这个Bean,将会在这个变量中储存这个引用。如果你也指定了类型,那么这个Bean也设置为相应的类型.
如果没有发现这个Bean,将会从你指定的class中示例,并将此引用储存到一个新的变量中去。如果这个class的名字代表的是一个模版,那么这个Bean被java.beans.Beans.instantiate示例.
如果<jsp:useBean>已经示例(不是定位)了Bean,同时<jsp:useBean>和</jsp:useBean>中有元素,那么将会执行其中的代码.
<jsp:useBean>元素的主体通常包含有<jsp:setProperty>元素,用于设置Bean的属性值。<jsp:useBean>的主体仅仅只有在<jsp:useBean>示例Bean时才会被执行,如果这个Bean已经存在,<jsp:useBean>能够定位它,那么主体中的内容将不会起作用。
其属性以及用法如下:
id="bean1",在你所定义的范围中确认Bean的变量,你能在后面的程序中使用此变量名来分辨不同的Bean 。这个变量名对大小写敏感,必须符合你所使用的脚本语言的规定,在Java Programming Language中,这个规定在Java Language 规范已经写明。如果这个Bean已经在别的<jsp:useBean>中创建,那么这个id的值必须与原来的那个id值一致.
scope="page | request | session | application",Bean存在的范围以及id变量名的有效范围。IBM Java Server Pages插件缺省值是page。其中page - 你能在包含<jsp:useBean>元素的JSP文件以及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。request - 你在任何执行相同请求的Jsp文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。你能够使用Request对象访问Bean,比如request.getAttribute(bean1)。而且你可以设置Request对象,如你可以在图9中选择“Set Request Object”前面的可选框,就会在<jsp:useBean >与</jsp:useBean>之间产生以下语句:<% bean2.setRequest(request); %>
class="Bean1",使用new关键字以及class构造器从一个class中示例一个bean.这个class不能是抽象的,必须有一个公用的,没有参数的构造器.这里要注意的是这个名字区别大小写。