重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇“java怎么自定义jstl标签库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java怎么自定义jstl标签库”文章吧。
成都创新互联是专业的淮南网站建设公司,淮南接单;提供做网站、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行淮南网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
开发环境:Spring+SpringMVC +Maven +Mybatis
JSTL 标签库的配置:
导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下:
1.1.2 1.2 3.1.0 2.2 taglibs standard ${standard.version} jar javax.servlet jstl ${jstl.version} jar javax.servlet javax.servlet-api ${servlet-api.verison} provided javax.servlet.jsp jsp-api ${jsp-api.version} provided
注意: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" %>
自定义函数库:
方法必须是 public static)
WEB-INF或 WEB-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 自定义标签
JSTL 1.1 functions library JSTL functions sys 1.1 fns http://java.sun.com/jsp/jstl/functionss 获取当前日期 getDate com.bkc.bpmp.common.utils.DateUtils java.lang.String getDate(java.lang.String) ${fns:getDate(pattern)}
在jsp 中引入该文件
<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
prefix 对应
fns
uri 对应 1) 该tlds 在项目中的路径
2)http://java.sun.com/jsp/jstl/functionss
此路径则需要在 web.xml 中配置引进的路径
java.sun.com/jsp/jstl/functionss /WEB-INF/tld/fns.tld
然后在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自带的标签元素冲突,重名等。
以上就是关于“java怎么自定义jstl标签库”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。