开发环境:Spring+SpringMVC +Maven +Mybatis

JSTL 标签库的配置:

  导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下:

<properties><standard.version>1.1.2</standard.version><jstl.version>1.2</jstl.version><servlet-api.verison>3.1.0</servlet-api.verison><jsp-api.version>2.2</jsp-api.version>
</properties>
</dependencies><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>${standard.version}</version><type>jar</type></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version><type>jar</type></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>${servlet-api.verison}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency>
</dependencies>

注意:jstl必须在能够支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行,这个环境是目前较为常用的环境

标签库的使用:

     采用 taglib 指令引入

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

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

自定义函数库:

  1、定义类和方法 (方法必须是 public static

  2、编写自定义 tld 方法,并且将此文件放到 WEB-INFWEB-INF 任意子目录下

  3、在jsp 中采用 taglib 指令引入自定义函数库

  4、采用 前缀+冒号(:)+函数名 调用即可

例:

  DateUtils

package com.bkc.bpmp.common.utils;import java.util.Date;import org.apache.commons.lang3.time.DateFormatUtils;/*** 日期工具类, 继承org.apache.commons.lang.time.DateUtils类* */
public class DateUtils extends org.apache.commons.lang3.time.DateUtils
{private static String[] parsePatterns = {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM","yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};/*** 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"*/public static String getDate(String pattern){return DateFormatUtils.format(new Date(), pattern);}
}

  fns.tld 自定义标签

<?xml version="1.0" encoding="UTF-8" ?><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 functions library</description><display-name>JSTL functions sys</display-name><tlib-version>1.1</tlib-version><short-name>fns</short-name><uri>http://java.sun.com/jsp/jstl/functionss</uri><!-- DateUtils --><function><description>获取当前日期</description><name>getDate</name><function-class>com.bkc.bpmp.common.utils.DateUtils</function-class><function-signature>java.lang.String getDate(java.lang.String)</function-signature><example>${fns:getDate(pattern)}</example>  </function>
</taglib>

在jsp 中引入该文件

<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>

prefix 对应

<short-name>fns</short-name>

uri 对应 1) 该tlds 在项目中的路径

 2) <uri>http://java.sun.com/jsp/jstl/functionss</uri>

  此路径则需要在 web.xml 中配置引进的路径

<jsp-config>    <taglib>    <taglib-uri>java.sun.com/jsp/jstl/functionss</taglib-uri>    <taglib-location>/WEB-INF/tld/fns.tld</taglib-location>    </taglib>
</jsp-config>

然后在jsp 中使用该标签

${fns:getDate("yyyy-MM-dd HH:mm")}

注意:
可能出现的异常
1、The function xxx must be used with a prefix when a default namespace is not specified
--- 在jsp页面中调用方式不正确,可能将 ":" 写成了 "."

2、The function xxx cannot be located with the specified prefix
--- a) 类中定义的方法不是 public static 的方法
b) 类中的方法名称和jsp自带的标签元素冲突,重名等

参考链接:http://blog.csdn.net/wlxtaking/article/details/5050616

自定义jstl标签库相关推荐

  1. Java-Web JSTL标签库、自定义标签库和MVC设计模式

    目录 一.JSTL标签库 1.什么是JSTL 2.JSTL标签库 3.使用taglib指令导入标签库 4.core标签库常用标签 (1)out和set (2)remove (3)url (4)if ( ...

  2. 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

    学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签.  jsp标签的分 ...

  3. JAVAWEB开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)

    JSTL  JSTL简介: JSTL的全称:JSP Standard Tag Library,JSP标准标签库 JSTL的作用:   提供给Java Web开发人员一个标准通用的标签函数库   和EL ...

  4. 自定义标签JSTL标签库详解

     自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简 ...

  5. JavaWeb(五)之JSTL标签库

    前言 前面介绍了EL表达式,其实EL表达式基本上是和JSTL核心标签库搭配一起使用才能发挥效果的.接下来让我们一起来认识一下吧! 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行 ...

  6. javaweb学习总结(二十八)——JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  7. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    来自:http://blog.csdn.net/love_you_99/article/details/8184797 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极 ...

  8. java将xml中的标签名称转为小写_深入学习Java Web(七): JSTL标签库

    本文转自与博客园一杯凉茶的博客. 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上 ...

  9. jsp导入jstl标签库_EE JSP:使用JSTL标记库生成动态内容

    jsp导入jstl标签库 除了在JSP中编写自己的定制标记之外,您还将发现Java EE实际上提供了一组Java标准标记库(JSTL)供您使用. 这些内置标签包括重复(for-loop)标签,条件标签 ...

最新文章

  1. shell编程 字符串处理
  2. bzoj 3365: [Usaco2004 Feb]Distance Statistics 路程统计【容斥原理+点分治】
  3. data too long for column的解决方法
  4. Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换
  5. JS实现生成一个周对应日期数组
  6. 在碎片化阅读充斥眼球的时代,要高效读论文
  7. 查看防火墙_在 Centos8 上使用 systemctl 防火墙服务
  8. 计算机键盘的区域,刘坚强办公学《新手学五笔打字》1-1 键盘区域的划分
  9. db2mysql下载_db2SQL命令
  10. mean shift segmentation matlab,Mean Shift图像分割算法的并行化
  11. Word自动目录字体过大,如何全选并修改样式
  12. cubeIDE快速开发流程
  13. 基于Cassandra的分布式存储数据一致性算法研究
  14. 淘宝购买的ESP-CAM+SD内存卡做一个200W像素的相机arduino IDE开发过程
  15. 团队建设(Team building)就是等于组织大家一起吃饭娱乐吗?
  16. xdm,程序员外包能干吗?
  17. 房多多,没有拼多多的命
  18. 台式机电源相关参数说明
  19. Thread详解一(interrupt)
  20. “撸啊”不止能秒杀!| lua+redis实现高并发抢令牌

热门文章

  1. 无盘机服务器,无盘服务器操作系统
  2. linux环境没有bzip2,Linux系统中安装使用Bzip2来压缩文件的方法讲解
  3. php禁止代理ip访问_php禁止某ip或ip地址段访问的方法(转载)
  4. Linux系统openssl测试指导,Linux管理员必用:OpenSSL服务器测试技巧
  5. 绕过html标签,巧妙绕过WAF的XSS技巧
  6. 泸州计算机专业学院,泸州计算机专业中职推荐
  7. php warning date(),lnmp打开cacti时提示PHP Warning: date()
  8. 台式计算机由哪些硬件组成,台式电脑硬件是由哪些组成的 - 卡饭网
  9. 两个计算机系统安装,如何在一台电脑上同时重装两个系统|戴尔电脑怎么安装两个系统...
  10. 数据分析Python:sklearn数据预处理中fit(),transform()与fit_transform()的区别