王朝网络
分享
 
 
 

UltraDev 4系列插件教程(5)

王朝other·作者佚名  2006-12-16
宽屏版  字体: |||超大  

插件名字

版本

类型

作者

插件下载

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不能是抽象的,必须有一个公用的,没有参数的构造器.这里要注意的是这个名字区别大小写。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有