首页 > 其他分享 >JSP 最佳实践: 使用JSTL来更新JSP页面

JSP 最佳实践: 使用JSTL来更新JSP页面

时间:2023-06-19 10:07:30浏览次数:68  
标签:Web 标记 JSTL JSP include 页面



JSP 最佳实践: 使用JSTL来更新JSP页面_参考资料

developerWorks 中国  >  Java technology | Web development  >JSP 最佳实践: 使用JSTL来更新JSP页面_参考资料

JSP 最佳实践: 使用JSTL来更新JSP页面

http://www.ibm.com/developerworks/cn/java/j-jsp05273/index.html

标准化JSTL标记为您的Web页面带来更多的功能

JSP 最佳实践: 使用JSTL来更新JSP页面_参考资料

JSP 最佳实践: 使用JSTL来更新JSP页面_参考资料_04


JSP 最佳实践: 使用JSTL来更新JSP页面_html_05

级别: 初级

Brett McLaughlin ([email protected]), 作者, O'Reilly和同事

2003 年 7 月 31 日

JSP 最佳实践这一部分,Brett McLaughlin将向您介绍JSTL,阐述如何转变JSP页面来使用高功能性的标记。

JSP技术的优势之一在于其定制标记库工具。除了核心JSP标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库(简称 taglib), 当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将taglib传递给其它开发人员,从而他们可以在自己的网站上使用,或者在您Web应 用程序的其它部分使用。在这一系列的下一部分,我将向您展示如何创建自己的定制标记库,但现在我们将重点关注JSP标准标记库(JSTL)。

JSTL实际上是一组标准化用于JSP 1.2的定制标记库。许多JSTL标记都与核心JSP标记类似,但它们可以提供更多的功能。例如, c:import 标记与我们在前一部分中介绍的 includejsp:include 指令极其类似(见 参考资料)。 与include指令一样, c:import 可以帮助您读取(populate)您Web站点或Web应用程序的页面,但其功能性扩展超出了核心JSP标记的范畴。

JSP最佳实践这一部分,我们将使用 c:import 标记来了解如何将Web页面从JSP转变成JSTL。但是,在开始使用新标记之前,我们需要将JSTL装载到Web容器中。

JSTL 设置

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

  1. apache.org下载 jakarta-taglibs-standard-current.tar.gz
  2. 解压缩下载的文件。
  3. jakarta-taglibs/standard-1.0.3/tld/c.tld 拷贝到 WEB/INF/tlds 目录。
  4. jakarta-taglibs/standard-1.0.3/lib 中的所有JAR文件拷贝到 WEB-INF/lib 目录。
  5. 将以下显示的条目添加到 WEB-INF/web.xml 部署描述符中。
  6. 如果webapp版本为2.4,则

<jsp-config><taglib>
       <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
       <taglib-location>/WEB-INF/tlds/c.tld</taglib-location>
     </taglib></jsp-config>

  1. 重启Web容器。

这是JSTL设置的速成版本,它可以满足大多数情况。更详细信息请参阅 参考资料部分。




联合 JSTL标记

如果您希望在JSP页面上使用任何JSTL标记,您首先必须在该页面上声明标记库前缀和URL。我们正在使用核心JSTL库,因此使用的标准前缀是 c (代表 核心)。表1显示增加了 taglib 指令的Web站点索引文件:


表1:索引文件的taglib指令


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


表2:转为JSTL


这一段程序与前面一段JSP程序之间唯一的区别是我们在c中使用了 url 属性,而不是在 jsp:include 中使用 page 属性。非常简单,是不是?做一个娱乐性练习,尝试自己转换一个页面,只需运行我们在“使用jsp:include管理动态内容”(本系列第二部分,参阅 参考资料)中使用的JSP程序代码并将其转换成JSTL,如表2所示。

如果您进行了仔细研究,您可能注意到我避免改变表2中的header inclusion程序代码。header程序代码包含参数,它增加了在此讨论的复杂性。在 JSP 最佳实践的下一部分,您将了解如何使用 c:import 来传递参数。我还将向您介绍 c:import 标记的一些特性,它可以提供比简单的 jsp:include 标记更多的功能。那时,您可以实践此处了解到的简单的JSTL转换技术,到时候见!



参考资料



关于作者


标签:Web,标记,JSTL,JSP,include,页面
From: https://blog.51cto.com/u_16065168/6510865

相关文章

  • 便签页面仿写
    <style>  body{    background-color:#f6f6f6;    font-family:'SegoeUI',Tahoma,Geneva,Verdana,sans-serif;    margin:0;    padding:0;  }  .container{    max-width:600px;    margin:......
  • Vue实战(09)-列表渲染:让你的页面秒变爆款!
    1最基础的循环<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Vue中的列表渲染</title><scriptsrc="../vue.js"></script></head><body>......
  • 前端Vue加载中页面动画弹跳动画loading
    前端Vue加载中页面动画弹跳动画loading,下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13091效果图如下:使用方法<!--ref:唯一ref top:距离中间顶部距离--><cc-loadingref="mixLoad":top="0"></cc-loading>//隐藏动画this.$refs.mix......
  • chrome:保存页面上的svg(chrome 114)
     一,复制svg在开发者工具中,选中要复制的svg然后在svg上右键->copy->copyelement二,保存成文件在sublime或其他编辑工具中粘贴,file->save->保存成wordpress.svg注意:此处的width/height两项可以按自己的需求修改说明:刘宏缔的架构森林—专注it技术的博客,网站:https://bl......
  • 谷歌浏览器打开时为什么页面是360,如何恢复
     001、 002、 003、 004、再次打开浏览器 ......
  • 武汉星起航:亚马逊卖家如何将外部流量引至亚马逊页面
    作为亚马逊卖家,将外部流量引导到您的亚马逊页面是提高产品曝光和销售的重要策略。下面是星起航整理的一些方法可以帮助您实现这一目标:建立专业网店:在亚马逊之外建立一个专业的电子商务网店,如自己的网站或独立的电商平台。通过这个网店,您可以展示和推广您的产品,并引导流量到您的亚马......
  • 包含js代码的dom元素从页面上消失后发生了什么
    最近遇到了一个问题:有一个数据看板的页面运行了n天后突然页面崩溃了,爆出了outofmemory的错误。页面不复杂,几个图表定时更新数据,实在没明白为什么长时间运行后会outofmemory。在每次请求后使用console.log(window.performance.memory); 打印出页面的内存占用情况,然后就......
  • 视频直播源码,html2canvas 前端保存页面为图片
    视频直播源码,html2canvas前端保存页面为图片转换方法如下: /***将页面指定节点内容转为图片*1.拿到想要转换为图片的内容节点DOM;*2.转换,拿到转换后的canvas*3.转换为图片*///生成局部图片GenerateImg(){ letelement=this.$refs.canvasImgObj; //console.warn(el......
  • html页面解析
    getElementsByTagName和getElementsByClassName这两个方法查找多个dom元素,返回的是htmlcollection类型,是伪数组而不是真数组,故不能使用数组的方法。我们可以使用数组原型配合slice方法,利用call,apply,bind方法将伪数组转为真数组。varx=document.getElementById("main......
  • 页面会话技术介绍,什么是Cookie和Session
    页面会话技术Cookie什么是cookie:服务端保存在浏览器端的数据片段。以key/value的形式进行保存。每次请求的时候,请求头会自动包含本网站此目录下的cookie数据。网站经常使用这个技术来识别用户是否登陆等功能。用途:保存登录状态,购物车等缺点:做为请求或响应报文发送,无形中......