首先在项目中导入jstl和standard.jar的两个包,把standard包解压,里面会有标准的tld文件,可以直接copy出来。
然后创建一个class,如下
package org.test.function;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 我的jstl函数
* @author afei
*
*/
public class Function {
public static String today(String pattern){
SimpleDateFormat sdf=new SimpleDateFormat(pattern);
return sdf.format(new Date());
}
}
然后创建一个tld描述,如function.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 by duyunfei</description>
<display-name>JSTL functions</display-name>
<tlib-version>1.1</tlib-version>
<short-name>afei</short-name>
<uri>http://duyunfei.iteye.com/</uri>
<function>
<description>
get today by pattern
</description>
<name>today</name>
<function-class>org.test.function.Function</function-class>
<function-signature>java.lang.String today(java.lang.String)</function-signature>
<example>
Name: ${afei:today('yyyy-MM-dd')}
</example>
</function>
</taglib>
并把它部署到WEB-INF下,最后创建一个测试jsp,如
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="afei" uri="http://duyunfei.iteye.com/"%>
<%
String path = request.getContextPath();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>测试一下jstl自定义函数</title>
</head>
<body>
${afei:today('yyyy-MM-dd')}
${afei:today('yyyy-MM-dd HH:mm:ss')}
</body>
</html>
ok,成功了,非常简单的,但是很管用。
分享到:
相关推荐
下面将详细探讨如何实现自定义标签和自定义JSTL函数。 **自定义标签** 自定义标签通常由两个部分组成:标签库描述文件(TLD, Tag Library Descriptor)和标签处理类。TLD定义了标签的元数据,如标签名称、属性、...
**自定义JSTL详解** JavaServer Pages Standard Tag Library(JSTL)是Java Web开发中的一个标准标签库,它提供了用于处理常见任务的标签,如迭代、条件语句、XML处理等,使得开发者可以避免在JSP页面中编写过多的...
自定义EL函数的实现通常涉及以下步骤: 1. 创建函数库:你需要创建一个实现了`javax.el.FunctionMapper`接口的类。这个类的职责是映射自定义函数到实际的Java方法。 2. 注册函数:在你的`FunctionMapper`实现中,...
JSTL主要包含核心标签库(Core)、XML处理标签库(XML)、函数库(Functions)和JDBC标签库(JDBC)。在这个场景中,我们重点关注的是JSTL的核心标签库以及如何使用自定义标签。 `jstl.jar`是JSTL的核心库,包含了...
- 创建FunctionProvider:实现javax.servlet.jsp.jstl.core.Functions接口,定义需要的函数。 - 创建函数库描述符:与自定义标签类似,也需要一个TLD文件来描述函数库,包括函数名称、参数和返回值等。 - 注册...
### 从JSTL和STRUTS的TLD文件到自定义EL函数 #### TLD文件简介 在Java Web开发中,特别是在使用JSP技术时,我们经常需要使用到一些预定义好的标签库来简化页面的开发过程。JSTL(JavaServer Pages Standard Tag ...
JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个标准标签库,它提供了一系列的标签来简化页面逻辑,...通过自定义函数,你可以进一步扩展JSTL的功能,满足特定项目需求,实现更复杂的业务逻辑。
jstl自定义标签和函数思维导图
做过大型网站前台的Web开发程序员最头疼的事情就是前台首页的布局,这其中最最头疼的就是标题字符的截取的问题,虽然有fn:substring,但表现率...在我们老大的指点下,了解了如何自定义EL函数,哈哈,今天实现了它。
它们是JSP(JavaServer Pages)标准标签库(JSTL)的一种扩展,允许开发者创建符合特定业务逻辑的自定义组件,从而将视图层与业务逻辑分离,实现MVC架构。本文将深入探讨这两个概念以及如何使用`taglib`进行定义和...
3. 定义自定义函数:在`FunctionMapper`实现类中,定义Java方法来实现自定义功能。这些方法将作为EL表达式中的函数调用。 4. 在JSP页面中使用:在JSP页面中,你可以像使用内置EL函数一样,通过`my:myFunction`这种...
2. **可扩展性**:通过自定义TLD,开发者可以创建自己的标签库,扩展JSTL的功能。 3. **性能提升**:JSTL标签在服务器端被解析成Java代码执行,相比在JSP中使用脚本,性能通常会有所提升。 4. **遵循标准**:作为...
4. `<tag>`:用于定义每个自定义标签,包含标签的名字、类(对应Java函数)、属性定义等。 5. `<attribute>`:定义标签的属性,包括属性名称、类型、是否必需、默认值等。 **自定义标签实现**: `MyFunctions.java`...
在JSTL中,`jstl.jar`包包含了所有核心的JSTL标签实现,包括控制流标签、函数标签、I/O标签等。这个库使得开发者能够在JSP页面上执行条件检查、循环、异常处理、XML处理、国际化等操作,极大地提高了代码的结构化...
5. **Function**:提供了若干内置函数,可以扩展到自定义函数库。 描述中提到,`jstl.jar` 是用于Java Web开发的标准标签库,这意味着它可以与其他Java Web技术,如Servlet、JSP、JSF等协同工作,使得开发更加高效...
JSTL函数库(fmt)提供了处理日期、数字、字符串等类型的函数,如`<fmt:formatDate>`、`<fmt:parseNumber>`等,便于在JSP页面上进行格式化操作。 **4. JSTL SQL库** SQL库(sql)允许在JSP页面中执行SQL查询,如`...
在Java Web开发中,JSTL经常与EL(Expression Language)一起使用,为开发者提供了处理常见任务的能力,如迭代、条件语句、XML处理等,而无需编写自定义标签库。 这两个jar包——`jstl-1.2.jar`和`standard-1.1.2....
JSTL有多个核心模块,包括Core(基础标签库)、Format(国际化和格式化)、XML(XML处理)和Function(自定义函数)。在描述中提到的"必须用到的两个标签库"可能是指Core库,这是JSTL最常用的部分,提供了基本的控制...
在这个压缩包中,包含的是关于JSTL自定义标签的开发实例源码,对于正在学习JavaWeb技术的开发者来说,这是一个非常有价值的参考资料。 首先,我们要理解JSTL的基本概念。JSTL主要由五个核心部分组成:Core、XML、...