JSP页面中自定义标签详解教程.docx

上传人:b****5 文档编号:2890087 上传时间:2022-11-16 格式:DOCX 页数:26 大小:138.23KB
下载 相关 举报
JSP页面中自定义标签详解教程.docx_第1页
第1页 / 共26页
JSP页面中自定义标签详解教程.docx_第2页
第2页 / 共26页
JSP页面中自定义标签详解教程.docx_第3页
第3页 / 共26页
JSP页面中自定义标签详解教程.docx_第4页
第4页 / 共26页
JSP页面中自定义标签详解教程.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

JSP页面中自定义标签详解教程.docx

《JSP页面中自定义标签详解教程.docx》由会员分享,可在线阅读,更多相关《JSP页面中自定义标签详解教程.docx(26页珍藏版)》请在冰豆网上搜索。

JSP页面中自定义标签详解教程.docx

JSP页面中自定义标签详解教程

JSP页面中自定义标签详解教程

标准JSP标签是用来调用JavaBean组件的操作,处理定向请求以简化JSP页面开发与维护。

JSP技术提供了一种封装其它动态类型的机制——自定义标签,它扩展了JSP语言。

自定义标签通常发布在标签库中,该库定义了一个自定义标签集并包含实现标签的对象。

一些功能可以通过自定义标签来实现,包括对隐含对象的操作,处理表单,访问数据库集其它企业级服务,如e-mail,目录服务,处理流控制。

JSP标签库由精通Java语言的开发者及精于访问数据机器它服务的专家来创建,由网络应用设计者来使用,以集中精力来解决表现而不是如何访问企业服务。

业就是鼓励分开库的开发者与使用者相分离,自定义标签通过封装实现了生产率的提高。

标签库在JSP技术中受到广泛注意。

要更多的了解标签库可以访问以下网址:

什么是自定义标签?

自定义标签是用户定义的JSP语言元素。

当JSP页面包含一个自定义标签时被转化为servlet,标签转化为对称为taghandler的对象的操作。

接着当servlet执行时Webcontainer调用那些操作。

自定义标签有着丰富的特点,它们可以:

1、可以通过调用页面传递的属性进行自定义;

2、可以访问对于JSP页面可能的所有对象;

3、可以修改由调用页面产生的响应。

4、可以相互间通信。

你可以创建并初始化一个JavaBean组件,创建一个变量引用标签中的bean,接着在其它的标签中引用该bean.

5、可以在一个标签中嵌套另一个,可以在JSP页面中进行复杂的交互。

JSP页面的例子

这章描述的任务包括使用及定义标签。

标签库Struts为建立一个国际化的网络应用提供了一个实现设计模式为Model-View-Control的框架。

该标签库包括全面的功能用于处理:

HTMLforms

Templates

JavaBeanscomponents

Logicprocessing

Duke’sBookstore应用程序使用了这些标签:

Strutsbean和logicsublibraries.

标签库tutorial-template定义了一系列标签集来创建应用模板。

该模板是带有占位符的JSP页面用来在每个页面显示需要改变的部分。

每一个占位符作为模板的一个parameter而引用。

例如,一个简单的模板可以包含一个标题参数及体参数来引用JSP页面中部分自定义的内容。

模板由一系列嵌套的标签。

下图显示了通过Duke’sBookstroe的网络组件发出请求的流程:

Duke’sBookstore3应用的源代码位于j2eetutorial/examples/src/web/bookstore3目录下。

要编译、部署并运行该例子,进行一下操作步骤:

1、到目录j2eetutorial/examples下编译该应用程序。

2、从http:

//jakarta.apache.org/builds/jakarta-struts/release/v1.0下载并解压Struts(版本为1.0),将struts-bean.tld,struts-logic.tld和struts.jar拷到jakarta-struts-1.0/libtoexamples/build/web/bookstore3下面

3、运行j2eeserver;

4、运行部署工具deploytool

5、运行Cloudscapedatabase;

6、如果你还没有创建bookstoredatabase,运行antcreateweb-db.

7、创建J2EE应用程序——Bookstore3App.

a.选择File-NewApplication.

b.在文件选择框中,找到j2eetutorial/examples/src/web/bookstore3.

c.在文件名框中输入Bookstore3App;

d.单击NewApplication.

e.OK.

8、创建WAR文件并将DispatcherServlet网络组建及所有的Duke’sBookstore加入到Bookstore3App.

a.选择File-New-WebComponent.

b.单击创建NewWAR文件,从复合框中选择Bookstore3App,输入Bookstore3WAR。

c.单击Edit来增加文件。

在编辑内容对话框中,导航到j2eetutorial/examples/build/web/bookstore3.选择Dispatcher.class并单击Add.增加banner.jsp,bookstore.jsp,bookdetails.jsp,catalog.jsp,showcart.jsp,cashier.jsp,receipt.jsp,initdestroy.jsp,template.jsp,screendefinitions.jsp,errorpage.jsp.增加duke.books.fig,struts-bean.tld,struts-logic.tld,tutorial-template.tld,struts.jar..增加cart,database,message,taglib,utilpackages.

d.单击Next

e.选择servlet单选按钮,

f.单击Next,

g.从Servlet类复选框中选择Dispatcher

h.单击两次Next.

i.在组件别名框中,单击增加接着输入别名。

j.单击Finish.

9、增加BookDBEJB企业Bean

a.选择File-Add-EJBJAR.

b.找到目录examples/build/web/ejb.

c.选择bookDB.jar,

d.单击AddEJBJAR.

10、给BookDBEJB增加一个引用。

a.选择Bookstore3WAR,

b.选择EJBRefs标签,

c.单击Add,

d.在代码名称栏中输入ejb/BookDBEJB,

e.在类型栏中输入Session.

f.在接口列中选择Remote,

g.在Home接口列中输入database.BookDBEJBHome,

h.在Local/Remote接口栏中输入database.BookDBEJB.

11、增加标签库URI映射

a.选择FileRefs标签,

b.在JSP标签库德自框中单击Add按钮

c.在引用栏中输入相对路径URI/tutorial-template,

d.在标签栏中输入绝对路径/WEB-INF/tutorial-template.tld,

e.对/struts-bean,struts-logic页执行上面的操作。

12、指定JNDI名。

a.选择Bookstore3App,

b.在应用表中,找到EJB组件并在JNDI名称栏中输入BookDBEJB,

c.在引用表中,定位到EJBRef并在JNDI名称栏中输入BookDBEJB,

d.在引用表中,定位到资源组件并在JNDI名称栏中输入jdbc/Cloudscape.

13、输入context根

a.选择WebCoontext标签

b.输入bookstore3.

14、部署应用程序

a.选择Tools-Deploy,

b.单击Finish.

15、打开bookstoreURLhttp:

//:

8000/bookstore3/enter.

使用标签

这部分描述页面作者如何使用标签库指定JSP页面并介绍不同类型的标签。

声明标签

你可以通过在页面中使用下面的指令来声明在JSP中使用标签库:

<%@tagliburi=”WEB-INF/tutorial-template.tld”prefix=”tt”%>

该uri属性引用了唯一识别的标签库描述符(TLD),该URI可以是直接的也可以是间接的。

Prefix属性定义了区分其它标签的方法。

标签库描述文件必须以后缀为.tld命名。

TLD文件保存在WEB-INF目录中,你可以直接或间接的引用TLD。

下面的标签库指令直接引用了TLD文件:

<%@tagliburi=”/WEB-INF/tutorial-template.tld”prefix=”tt”%>

下面的标签库指令使用了短的逻辑名来间接引用TLD:

<%@tagliburi=”/tutorial-template”prefix=”tt”%>

逻辑名必须映射到Webapplication部署描述符中的绝对路径。

为映射到逻辑名/tutorial-template到绝对路径/WEB-INF/tutorial-template.tld:

1、选择Bookstore3WAR,

2、选择FileRefs标签,

3、在JSP标签库的子栏中单击Add按钮,

4、在代码引用域中输入相对路径URI/tutorial-template.

5、在标签库域中输入绝对路径/WEB-INF/tutorial-template.tld.

标签种类

JSP自定义标签使用XML语法。

它们有起始标签及结束标签,并有可能有体:

tag>body

tag>

没有体的标签如下:

tag/>

简单标签

一个简单标签没有体及属性:

simple/>

带有属性的标签

自定义标签可以含有属性。

属性列于起端标签,有这样的语法:

attr=”value”.属性值用于自定义标签的行为,就像方法中定义的参数一样。

你可以给属性设置一字符串常量货运形时表达式。

这个转换过程介于常量与运行时表达式之间,且属性类型遵循为JavaBean组件属性描述的规则。

Struts的属性logic:

present决定标签的体是否求值。

在下面的例子中,一个属性制订了一个请求参数:

Clear:

presentparameter=”Clear”>

在Duke’sBookstoreapplication页面catalog.jsp使用了运行表达式来设置属性值:

iteratecollection=”<%=bookDB.getBooks()%>”id=”book”type=”database.BookDetails”>

带体的标签

自定义标签可以包含自定义的核心标签,脚本元素,HTML文本,以及标签依赖的体内容。

在下面的例子中,Duke’sBookstoreapplication页面showcart.jsp使用了Strutslogic:

present标签来清除购物撤兵打印消息如果请求中包含参数为Clear的话:

presentparameter=”Clear”>

<%cart.clear();%>

Youjustclearedyourshoppingcart!


 

present>

在传递信息时选择属性还是体

正如在后两节中讲到的,把一个给定的数据作为标签的属性或者体来传递是可能的。

通常,无论是字符串或可以计算的简单表达式最好作为属性来传递。

定义脚本变量的标签

自定义标签可以定义在脚本中使用的变量。

下面的例子展示了如何定义并使用包含

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1