当前页面: 开发资料首页 → JSP 专题 → JBuilder2005实战JSP之特殊页面
摘要: JBuilder2005实战JSP之特殊页面
当用户录入正确的密码后,switch.jsp控制JSP页面导向welcome.jsp欢迎页面
欢迎页面welcome.jsp
当用户录入正确的密码后,switch.jsp控制JSP页面导向welcome.jsp欢迎页面,在这节里,我们来开发这个welcome.jsp页面。因为welcome.jsp需要使用到一个第三方的标签库,所以在开发welcome.jsp之前需要在JBuilder中作一些配置引入这个标签库。
将第三方标签库配置到JBuilder中
Apache开源组织提供了许多有用标签库,欢迎页面welcome.jsp需要使用一个来源于Apache的datetime标签库,可以用这个标签库在JSP中提供各种时间的显示,下载的地址是:http://apache.justdn.org/jakarta/taglibs/datetime/binaries/jakarta-taglibs-datetime-1.0.1.zip。
标签库一般包括两个文件,其一是类包JAR文件,其二是以.tld为扩展名的标签符描述文件。从下载的压缩文档中解压后,我们将taglibs-datetime.jar和taglibs-datetime.tld文件放到<工程目录>/datetimeTag目录下。
要在工程中使用第三方的标签库,必须事先在JBuilder中配置这个标签库,并在工程中引用它。配置标签库和配置类库相似,也是通过Configure Libraries对话框来完成。JBuilder类库及标签库都列在Configure Libraries对话框中左边的树中,类库显示为 图标,而标签库显示为 图标。下面我们来将datetime标签库配置到JBuilder中。
1.Tools->Configure->Libraries->Configure Libraries对话框。
点击Configure Libraries对话框的左下角的Add...按钮,弹出New Library Wizard对话框,如下图所示:
图 17新库向导对话框
在Name中给这个库取一个名字:datetimeTag,按OK返回Configure Libraries对话框。
2.指定标签库文件。
在返回Configure Libraries对话框后,datetimeTag节点出现在左边的树中,因为还没有为其指定类库文件,有别于其他节点显示为显目的红色,点选datetimeTag并将Library Settings设置页切换到Framework标签页中,如下图所示:
图 18 切换到Framework中
在Framework下拉框中选择User-Defined JSP Tag Library选项,点击标签页右下方的Add...按钮,弹出Define New Tag Library对话框,如下图所示:
图 19 指定标签库的描述文件
在Define New Tag Library对话框中,点击TLD file后的…按钮,导航到<工程目录>/datetimeTag/taglibs-datetime.tld文件中,确认后JBuilder自动填充其余的设置项,一般不需要更改JBuilder这些自动补充的设置。其中Prefix为这个标签库指定了一个引用前缀。点击OK按钮返回Configure Libraries对话框,datetimeTag节点显示为正常的颜色如下图所示:
图 20 正确配置标签库后的效果
点击Configure Libraries对话框的OK按钮完成datetime标签库的配置。
3.在当前工程中引用这个新配置的标签库。
Project->Project Properties...->Paths->切换到Required Libraries标签页中->点击Add...按钮从JBuilder类库中选择datetimeTag。配置成功后,Project Properties对话框如下所示:
图 21 工程引用库
创建欢迎JSP页面
1.File->New…->Web->双击JSP图标,启动创建JSP向导,指定JSP文件名为welcome,点击Next到下一步。
2.在welcome.jsp页面中引用datetimeTag标签库。
在向导的第2步中允许你选择JBuilder中的各种标签库,我们在上一节中配置的datetimeTag标签库也出现在Tag Libraries列表中,如下图所示:
图 22 引用标签库
展开datetime Tag并勾选taglibs-datetime,按Next到一下步。
3.引用在switch.jsp中放入session域的userBean对象。
图 23 引用switch.jsp中放入session的userBean
点击Add Bean...选择bookstore.User类,在ID栏中指定Bean的名字为ses_userBean,Scope栏中选择session作用域。ses_userBean即是在switch.jsp为userBean所指定的名字,Web容器将根据这个名字到session中查找对象,如果找不到才创建bookstore.User对象,因为welcome.jsp在switch.jsp之后才被调用,所以除非session对期,否则都可以找到userBean对象。
直接点击Finish创建welcome.jsp文件,其代码如下所示:
代码清单 15 welcome.jsp欢迎页面
1. <%@ page contentType="text/html; charset=GBK" %>
2. <%@ taglib uri="http://jakarta.apache.org/taglibs/datetime-1.0" prefix="dt" %>
3. <html>
4. <head>
5. <title>
6. welcome
7. </title>
8. </head>
9. <jsp:useBean id="ses_userBean" scope="session" class="bookstore.User" />
10. <jsp:setProperty name="ses_userBean" property="*" />
11. <body bgcolor="#ffffff">
12. <h1>
13. JBuilder Generated JSP
14. </h1>
15. </body>
16. </html>
1. <%@page contentType="text/html; charset=GBK" errorPage="error.jsp"%>
2. <%@taglib uri="http://jakarta.apache.org/taglibs/datetime-1.0" prefix="dt"%>
3. <html>
4. <head>
5. <title>welcome</title>
6. </head>
7. <jsp:useBean id="ses_userBean" scope="session" class="bookstore.User"/>
8. <body bgcolor="#ffffff">你是
9. <%=ses_userBean.getUserName()%>,欢迎登录。<br>
10. 现在的时间是<dt:表单at pattern="MM/dd/yyyy hh:mm"><dt:currentTime/></dt:表单at>
11. <br>点击<a href="quit.jsp">这儿</a>退出系统
12. </body>
13. </html>
1. <?xml version="1.0" encoding="UTF-8"?>
2. …
3. <web-app>
4. <taglib>
5. <taglib-uri>http://jakarta.apache.org/taglibs/datetime-1.0</taglib-uri>
6. <taglib-location>/WEB-INF/taglibs-datetime.tld</taglib-location>
7. </taglib>
8. </web-app>
1. <%@ page contentType="text/html; charset=GBK" %>
2. <%
3. session.invalidate();
4. %>
5. <script language="javaScript" >
6. window.opener = null;
7. window.close();
8. </script>