关于的uri

在早期的jsp开发中,是使用java代码来控制逻辑和显示的,但这样会给前端开发人员带来些麻烦并且代码的可读性也会降低。为了解决上述情况,标签库被创造出来了。标签库的目的在于让开发人员能像使用html标签一样的标签来完成前端的逻辑控制和内容显示,而把那些繁琐、复杂的java代码隐藏在背后,返还jsp文件的干净整洁。

 

标签库的组成

      一个标签库一般由两大部分组成:jar文件包和tld(taglib library description)文件。

      1、jar文件包

           这个部分是标签库的功能实现部分,由java来实现,此部分不是本文的重点,故详细内容略。

      2、tld文件

           tld是taglib library description的缩写,顾名思义此文件是用来描述标签库的,其内容为标签库中所有标签的定

      义,包括标签名、功能类及各种属性。

 

标签库的使用

      上面大体介绍了标签库的一些内容,下面接着来看一下如何在自己的项目中使用标签库。以jstl为例。想要在你的项目中使用jstl标签库,必须得先有两样东西:jstl.jar、standard.jar两jar包和标签库对应的tld文件。jstl是开源的,所以这两样东西都可以免费在这儿下载

       解压下载下来的压缩包,将lib文件夹下的jstl.jar、standard.jar加入到你的工程的classpath下,将tld文件夹copy到工程的WEB-INF目录下。到这儿,你的工程就已经支持jstl标签了。接下来你需要做的就是在需要使用jstl标签的jsp页面的开头部分将标签库引入。详细内容见下面的代码:

Jstltest.jsp代码  
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <%@ taglib prefix="c" uri="myjstl" %>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5. <html>  
  6. <head>  
  7.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8.     <title>Insert title here</title>  
  9. </head>  
  10. <body>  
  11.     <c:out value="${param.username}"/>  
  12. </body>  
  13. </html>  

      <%@ taglib prefix="c" uri="myjstl" %>这句话将JSTL core标签库引入jstltest.jsp。

      prefix="c"是为了使用方便而给该标签库起的一个别名,这样在使用时就不用每次都要把较长的标签库名写出来。

      uri="myjstl"将在下面做详细介绍。

      <c:out value="${param.username}"/>是这个库中的out标签的使用例。本文不对jstl标签的用法做详细说明。

taglib的uri

      当你在某个标签库引入jsp文件时,<%@ taglib prefix="c" uri="myjstl" %>中的uri有两种写法。

      1、自定义。

           你可以自己起个有个性的名字,但这样做的后果就是,编译器会找不到用的标签的tld文件,从而找不到这个标签的

      功能支持类,导致标签无法正常工作。

           如果你使用了自定义uri的话,你还需要在该工程的web.xml下加入如下信息:

Web.xml代码  
  1. <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  2.                 ...  
  3.     <jsp-config>  
  4.        <taglib>  
  5.            <taglib-uri>myjstl</taglib-uri>  
  6.            <taglib-location>/WEB-INF/tld/c.tld</taglib-location>  
  7.        </taglib>  
  8.     </jsp-config>  
  9.                 ...  
  10. </web-app>  

           这下编译器就能通过这座“桥”找到对应的tld文件了。

           值得一提的是上面的web.xml用的xml Schema为http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd

      这个Schema规定的<taglib>节点应该在<jsp-config>下,而2.4以前的版本<taglib>节点直接就在<web-app>

      下。

    

      2、标准定义

           当你打开一个tld文件时,在文件的头部会有一个<uri>节点,里面的内容即为uri的标准定义。使用标准定义的优点

      在于,不用在web.xml下加上上面的代码。直接上代码:

Jstltest.jsp代码  
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"  
  2.     pageEncoding="UTF-8"%>  
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  5. <html>  
  6. <head>  
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  8. <title>Insert title here</title>  
  9. </head>  
  10. <body>  
  11.     <c:out value="${param.username}"/>  
  12. </body>  
  13. </html>  

 

转自:http://ericliu1986.iteye.com/blog/686378

注意!此信息未认证,请谨慎判断信息的真实性!

全部评论
空

相关内容推荐

头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像 头像
点赞 评论 收藏
转发
头像
2022-12-20 07:39
门头沟学院_2023
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
02-01 22:09
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
头像
点赞 评论 收藏
转发
点赞 收藏 评论
分享

全站热榜

正在热议