`
小网客
  • 浏览: 1243831 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

J2ee之自定义jstl函数

    博客分类:
  • J2ee
 
阅读更多

背景:

自定义jstl function满足自己的需求,编码和时间格式化

实现:

1.自定义工具类:

public class UtilsTag {

	public static String date(Long time) throws Exception {
		// String vv = "" + value;
		// long time = Long.valueOf(vv);
		Calendar c = Calendar.getInstance();
		c.setTimeInMillis(time);
		SimpleDateFormat dateformat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		String s = dateformat.format(c.getTime());
		return s;
	}

	public static String encode(String txt) throws Exception {
		return URLEncoder.encode(txt, "utf-8");
	}

}

注意点:

a.static

2.自定义tld文件:

<?xml version="1.0" encoding="GBK"?>  
<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">     
    <!-- 定义函数版本 -->  
    <tlib-version>1.0</tlib-version>  
    <!-- 定义函数名称 -->  
    <short-name>utils</short-name>  
    <!-- 定义第一个函数 -->  
    <function>  
        <!-- 定义第一个函数:reverse -->  
        <name>encode</name>  
        <!-- 定义函数处理类 -->  
        <function-class>com.pobaicn.wxp.web.UtilsTag</function-class>  
        <!-- 定义函数的对应方法 -->  
        <function-signature>  
            java.lang.String encode(java.lang.String)  
        </function-signature>  
    </function>  
    <function>  
        <name>date</name>  
        <function-class>com.pobaicn.wxp.web.UtilsTag</function-class>  
        <function-signature>  
            java.lang.String date(java.lang.Long)  
        </function-signature>  
    </function>  
</taglib>  

注意点:

a.类全路径

b.方法参数完全一致

3.部署:

web.xml中加入:

<jsp-config>
	<taglib>
		<taglib-uri>/utils</taglib-uri>
		<taglib-location>/WEB-INF/tlds/utils.tld</taglib-location>
	</taglib>
</jsp-config>

4.使用:

<%@ taglib uri="/utils" prefix="utils"%>  
  <a href="${basePath}detail?id=${utils:encode(item.id)}">
              [详情]
            </a>

 ${utils:date(item.bdate)}

 

重要注意点:

写道
org.apache.jasper.JasperException: Method "cut" for function "cut" not found in class "com.linkrmb.util.UtilsTag"

当发生这个错误的时候就代表写的方法里面是基本类型,应该用封装类型,如:不应该用int而用Integer

0
0
分享到:
评论

相关推荐

    自定义JSTL

    **自定义JSTL详解** JavaServer Pages Standard Tag Library(JSTL)是Java Web开发中的一个标准标签库,它提供了用于处理常见任务的标签,如迭代、条件语句、XML处理等,使得开发者可以避免在JSP页面中编写过多的...

    jstl详细配置讲解

    JSTL主要包括核心标签库(Core)、SQL标签库(SQL)、XML标签库(XML)和JSTL函数库(fmt)等部分。本文将详细介绍JSTL在不同版本的web.xml中的配置,并结合实际使用案例进行解析。 ### 1. JSTL核心标签库 JSTL的...

    (TAG标签)jstl和struts2标签截取字符串[文].pdf

    在截取字符串时,jstl标签提供了两种方法:一是使用jstl原有的标签库中的方法,二是使用自定义函数。 使用jstl原有的标签库中的方法 在使用jstl标签时,我们可以使用jstl原有的标签库中的方法来截取字符串。例如,...

    JSTL详解---附源码

    JSTL函数库** - `&lt;fn:length&gt;`:计算数组或集合的长度。 - `&lt;fn:indexOf&gt;`:查找子字符串的位置。 - `&lt;fn:substring&gt;`:截取字符串。 - `&lt;fn:split&gt;`:字符串分割。 **7. JSTL JDBC** - `&lt;sql:query&gt;`:执行SQL...

    J2EE 源代码 里边有很多东西 我们上J2EE课用的代码

    5. **jstl**:JSTL是一套标准的标签库,提供了包括核心、SQL、XML、函数等不同领域的标签,简化了JSP页面的编写,使得页面逻辑更清晰,易于维护。 6. **test**:这是一个测试目录,可能包含了单元测试或集成测试...

    J2EE 1.4基础教程

    JSP 1.2是J2EE 1.4中支持的版本,引入了表达式语言(EL)和自定义标签库(JSTL),简化了页面编程。 ### 3. **JavaBeans** JavaBeans是可重用的Java组件,通常作为业务逻辑的载体。它们遵循特定的编码规范,具有...

    J2EE页面标签大全

    J2EE页面标签大全涵盖了各种常用的JSP标准标签库(JSTL)以及自定义标签,它们使得开发者能够更加简洁地编写动态网页。下面我们将深入探讨这些标签及其用法。 1. JSTL(JavaServer Pages Standard Tag Library) -...

    JSTL常用语法介绍教程

    这里,`StringTag`是TLD文件中定义的短名称,`getShort`是自定义函数的名字,`str`是传递给该函数的参数。 总结:JSTL是JSP开发的强大工具,提供了诸如循环、条件判断、字符串操作等实用功能,并允许开发者创建...

    JSTL1

    JSTL1是JSTL的第一个版本,它提供了一系列预定义的标签,使得开发者可以更加便捷地处理常见的服务器端任务,而无需编写大量的Java脚本或自定义标签库。 JSTL的核心在于它的标签库,主要包括以下几个部分: 1. **...

    j2ee作业练习五答案

    JSP的转换过程、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用、以及自定义标签可能都是练习的重要内容。 3. **JavaBeans**:JavaBeans是一种符合特定设计模式的Java类,通常...

    j2ee开发使用的API(中文版)

    JSTL包含了一系列的标签,如`fmt`(国际化)、`fn`(函数)、`sql`(数据库操作)和`c`(控制流)等。 4. **EJB(Enterprise JavaBeans)API**:EJB是J2EE的核心组件模型,用于构建可部署在服务器端的业务逻辑。EJB...

    jsp自定义标签

    3. **标签体内容**:除了函数形式的自定义标签外,还可以创建具有标签体的自定义标签,这些标签可以包含更复杂的逻辑。例如,创建一个显示列表项的自定义标签: ```jsp ``` #### 四、小结 通过...

    J2EE题库(选择填空)

    - **知识点总结:**TCP/IP是互联网中最基本且最核心的协议之一,它定义了数据如何在网络之间传输。 **2. CGI(通用网关接口)是哪一侧的编程解决方案?** - **选项解析:** - **a) ClientSide (客户端侧)**: 指...

    J2EE课程总结

    ### J2EE课程总结 #### 数据库:Oracle **1. Oracle SQL基础知识** - **选择行**:通过`SELECT`语句结合`WHERE`子句来实现特定条件下的数据筛选。 - **限制选择行**:利用`LIMIT`或`ROWNUM`来限制返回结果的数量...

    struts_jstl

    * 函数库的使用 * 自定义函数库 * 定义类和方法(必须定义为public static) * 编写tld文件,并且将tld文件放到WEB-INF下 * 在jsp中使用taglib指令引入自定义标签库 * 直接使用即可 &lt;br&gt; ...

    java,j2ee面试题大全

    2. **异常处理**:熟悉try-catch-finally语句块,理解异常类层次结构,以及如何自定义异常。 3. **集合框架**:深入理解ArrayList、LinkedList、HashSet、HashMap等集合类的特性和使用场景。了解Collection和Map...

    jakarta-taglibs-standard-1.1.2

    3. **可扩展性**:JSTL支持自定义标签库,可以根据项目需求创建自己的标签。 4. **标准化**:作为Java EE的一部分,JSTL遵循统一的标准,跨平台兼容性好。 总结来说,Jakarta Taglibs Standard 1.1.2是一个重要的...

    J2EE学习教程

    - `taglib`:引入自定义标签库。 4. **JSP脚本元素**: - `&lt;% %&gt;`:Java代码块。 - `! %&gt;`:声明。 - `&lt;%= %&gt;`:表达式。 5. **JSP动作元素**: - `&lt;jsp:forward&gt;`:页面转发。 - `&lt;jsp:include&gt;`:动态包含...

    J2EE软件工程师内部培训资料

    - **自定义标签**:指导如何创建自定义标签来封装复杂数字代码。 - **EL(表达式语言)**:介绍如何使用EL来访问JavaBeans属性和执行算术运算。 - **JSTL: JavaServer Pages Tag Libraries**:介绍一组标准标签库,...

    J2EE软件工程师全部培训课程总结

    - **JSP高级特性**:学习自定义标签、EL表达式、JSTL标签库等高级功能,提升Web开发效率。 #### 六、MVC框架:Struts与JSF - **Struts框架**:理解Struts的工作原理,掌握其标签库、国际化和异常处理机制。 - **...

Global site tag (gtag.js) - Google Analytics