zoukankan      html  css  js  c++  java
  • JSTL中的TLD配置和使用。

    一,JSTL介绍:  

      JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。

      JSTL全名为JavaServer Pages Standard Tag Library。JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库。

      Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序的阅读性、维护性和方便性。

    二,JSTL配置:

      主要牵涉到两个jar包

      standward.jar和jstl.jar包 (两个包1.0和1.2版本的下载以及TLD下载路径如下:下载路径

      加载方式包括两种

      1,非自动加载

      a,将tld文件copy到WEB-INFO下的tld目录下,没有就创建之

      b,修改web.xml文件配置,添加配置如下 

     1 <jsp-config>
     2   <taglib>
     3    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
     4    <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
     5   </taglib>
     6   <taglib>
     7    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
     8    <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
     9   </taglib>
    10   <taglib>
    11    <taglib-uri>http://java.sun.com/jstl/fn</taglib-uri>
    12    <taglib-location>/WEB-INF/tld/fn.tld</taglib-location>
    13   </taglib>
    14  </jsp-config>
    View Code

      c,jsp中引用taglib

      <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

      2,自动加载

    Servlet2.4规范提供了对tld文件的自动加载,tld文件在standard.jar的META-INF文件夹中。

    如:c.tld文件提供了对核心jstl标签的描述

    <taglib 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-jsptaglibrary_2_0.xsd"
        version="2.0">
        
      <description>JSTL 1.1 core library</description>
      <display-name>JSTL core</display-name>
      <tlib-version>1.1</tlib-version>
      <short-name>c</short-name>
      <uri>http://java.sun.com/jsp/jstl/core</uri>

    可以看到其引用的uri为http://java.sun.com/jsp/jstl/core

    则在jsp中引用taglib为: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    三,JSTL核心标签库的使用

    JSTL 核心标签库标签共有13个,功能上分为4类:

    1.表达式控制标签:out、set、remove、catch

    2.流程控制标签:if、choose、when、otherwise

    3.循环标签:forEach、forTokens

    4.URL操作标签:import、url、redirect

    使用标签时,一定要在jsp文件头加入以下代码:

    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    下面分别对这些标签进行说明:

    1. <c:out> 用来显示数据对象(字符串、表达式)的内容或结果

    使用Java脚本的方式为:<% out.println("hello") %>  <% =表达式 %>

    使用JSTL标签:<c:out value="字符串">

    2. <c:set> 用于将变量存取于 JSP 范围中或 JavaBean 属性中。

    3.<c:remove> 主要用来从指定的 jsp 范围内移除指定的变量。使用类似,下面只给出语法:

    <c:remove var="变量名" [scope="page|request|session|application"]></c:remove>


    4.<c:catch> 用来处理 JSP 页面中产生的异常,并存储异常信息

    <c:catch var="name1">

          容易产生异常的代码

    </c:catch>

    如果抛异常,则异常信息保存在变量 name1 中。

    5.<c:if>

    <c:if test="条件1" var="name" [scope="page|request|session|application"]></c:remove>

    6. <c:choose> <c:when> <c:otherwise> 三个标签通常嵌套使用,第一个标签在最外层,最后一个标签在嵌套中只能使用一次

    7.<c:forEach>

    语法:<c:forEach var="name" items="Collection" varStatus="statusName" begin="begin" end="end" step="step"></c:forEach>

    该标签根据循环条件遍历集合 Collection 中的元素。 var 用于存储从集合中取出的元素;items 指定要遍历的集合;varStatus 用于存放集合中元素的信息。varStatus 一共有4种状态属性,分别为索引,迭代次数,是否第一个元素,是否最后一个元素

    8.<c:forTokens> 用于浏览字符串,并根据指定的字符串截取字符串
    语法:<c:forTokens items="stringOfTokens" delims="delimiters" [var="name" begin="begin" end="end" step="len" varStatus="statusName"]></c:forTokens>

     

    部分文章转自下面博客,更详细的例子详见下面博客:http://www.cnblogs.com/lihuiyy/archive/2012/02/24/2366806.html

  • 相关阅读:
    多个装饰器装饰一个函数
    DRF 里面DestroyAPIView实例
    ERROR: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-e7q1vcuk/mysqlclient/解决办法!
    python3 协程爬取两张妹子图
    python3 协程简单运用爬取两张妹子图
    gevent 简单运用
    D
    C
    B
    javascript cookie
  • 原文地址:https://www.cnblogs.com/ningheshutong/p/5780440.html
Copyright © 2011-2022 走看看