免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2282 | 回复: 3
打印 上一主题 下一主题

使用JSTL来更新JSP页面 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-05 16:31 |只看该作者 |倒序浏览
JSP 标准标记库(Standard Tag Library,JSTL)是一组以标准化格式实现许多通用的Web站点功能的

定制标记。
   JSP技术的优势之一在于其定制标记库工具。除了核心JSP标记,如jsp:include之外,定制标记库工具

使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库(简称taglib

),当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将taglib传递给其它开发人员

,从而他们可以在自己的网站上使用,或者在您Web应用程序的其它部分使用。在这一系列的下一部分,

我将向您展示如何创建自己的定制标记库,但现在我们将重点关注JSP标准标记库(JSTL)。

  JSTL实际上是一组标准化用于JSP 1.2的定制标记库。许多JSTL标记都与核心JSP标记类似,但它们可以

提供更多的功能。例如,c:import标记与我们在前一部分中介绍的include和jsp:include指令极其类似。

与include指令一样,c:import可以帮助您读取(populate)您Web站点或Web应用程序的页面,但其功能

性扩展超出了核心JSP标记的范畴。

  首先需要将JSTL装载到Web容器中。


JSTL 设置
虽然JSTL计划捆绑到下一波Web容器中,但您目前必须自己进行设置。按以下步骤操作以将JSTL装载到Web

容器中:
从apache.org下载jakarta-taglibs-standard-current.tar.gz。
解压缩下载的文件。
将jakarta-taglibs/standard-1.0.3/tld/c.tld拷贝到WEB/INF/tlds 目录。

将jakarta-taglibs/standard-1.0.3/lib中的所有JAR文件拷贝到WEB-INF/lib目录。

将以下显示的条目添加到WEB-INF/web.xml部署描述符中。
     <taglib>;
       <taglib-uri>;http://java.sun.com/jstl/core</taglib-uri>;
       <taglib-location>;/WEB-INF/tlds/c.tld</taglib-location>;
     </taglib>;



重启Web容器。
这是JSTL设置的速成版本,它可以满足大多数情况。

联合JSTL标记
如果您希望在JSP页面上使用任何JSTL标记,您首先必须在该页面上声明标记库前缀和URL。我们正在使用

核心JSTL库,因此使用的标准前缀是c(代表核心)。表1显示增加了taglib指令的Web站点索引文件:

表1:索引文件的taglib指令

<%@ page language="java" contentType="text/html" %>;
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>;
<html>;
<head>;
     <title>;newInstance.com</title>;
     <meta http-equiv="Content-Type" content="text/html;
       charset=iso-8859-1" />;
     <link href="/styles/default.css" rel="stylesheet" type="text/css" />;
</head>;

<body>;

<jsp:include page="header.jsp" flush="true">;
     <jsp:param name="pageTitle" value="newInstance.com"/>;
     <jsp:param name="pageSlogan" value=" " />;
</jsp:include>;
<%@ include file="/navigation.jsp" %>;
<jsp:include page="bookshelf.jsp" flush="true" />;

<jsp:include page="/mt-blogs/index.jsp" flush="true" />;

<%@ include file="/footer.jsp" %>;
</body>;
</html>;



在向JSP页面添加了JSTL taglib之后,您可以使用核心库中的任何标记,只需把标记的前缀改为c。为了了解这一流程,我们将尝试把页面从jsp:include标记转换成c:import标记。 表2显示了本系列第二部分

介绍的jsp:include实例转为使用新c:import标记。


表2:转为JSTL

<%@ page language="java" contentType="text/html" %>;
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>;
<html>;
<head>;
     <title>;newInstance.com</title>;
     <meta http-equiv="Content-Type" content="text/html;
       charset=iso-8859-1" />;
     <link href="/styles/default.css" rel="stylesheet" type="text/css" />;
</head>;

<body>;

<jsp:include page="header.jsp" flush="true">;
     <jsp:param name="pageTitle" value="newInstance.com"/>;
     <jsp:param name="pageSlogan" value=" " />;
</jsp:include>;
<%@ include file="/navigation.jsp" %>;
<c:import url="bookshelf.jsp" />;

<c:import url="/mt-blogs/index.jsp" />;

<%@ include file="/footer.jsp" %>;
</body>;
</html>;



这一段程序与前面一段JSP程序之间唯一的区别是我们在c中使用了url属性,而不是在jsp:include中使用page属性。非常简单,是不是?

论坛徽章:
0
2 [报告]
发表于 2003-08-05 16:34 |只看该作者

使用JSTL来更新JSP页面

上文转自IBM开发工作站
      作者:Brett McLaughlin

论坛徽章:
0
3 [报告]
发表于 2003-08-06 12:26 |只看该作者

使用JSTL来更新JSP页面

研究一下

论坛徽章:
0
4 [报告]
发表于 2003-11-08 07:24 |只看该作者

使用JSTL来更新JSP页面

g@@@@@@@@@d
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP