背景:
自定义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
相关推荐
**自定义JSTL详解** JavaServer Pages Standard Tag Library(JSTL)是Java Web开发中的一个标准标签库,它提供了用于处理常见任务的标签,如迭代、条件语句、XML处理等,使得开发者可以避免在JSP页面中编写过多的...
JSTL主要包括核心标签库(Core)、SQL标签库(SQL)、XML标签库(XML)和JSTL函数库(fmt)等部分。本文将详细介绍JSTL在不同版本的web.xml中的配置,并结合实际使用案例进行解析。 ### 1. JSTL核心标签库 JSTL的...
在截取字符串时,jstl标签提供了两种方法:一是使用jstl原有的标签库中的方法,二是使用自定义函数。 使用jstl原有的标签库中的方法 在使用jstl标签时,我们可以使用jstl原有的标签库中的方法来截取字符串。例如,...
JSTL函数库** - `<fn:length>`:计算数组或集合的长度。 - `<fn:indexOf>`:查找子字符串的位置。 - `<fn:substring>`:截取字符串。 - `<fn:split>`:字符串分割。 **7. JSTL JDBC** - `<sql:query>`:执行SQL...
5. **jstl**:JSTL是一套标准的标签库,提供了包括核心、SQL、XML、函数等不同领域的标签,简化了JSP页面的编写,使得页面逻辑更清晰,易于维护。 6. **test**:这是一个测试目录,可能包含了单元测试或集成测试...
JSP 1.2是J2EE 1.4中支持的版本,引入了表达式语言(EL)和自定义标签库(JSTL),简化了页面编程。 ### 3. **JavaBeans** JavaBeans是可重用的Java组件,通常作为业务逻辑的载体。它们遵循特定的编码规范,具有...
J2EE页面标签大全涵盖了各种常用的JSP标准标签库(JSTL)以及自定义标签,它们使得开发者能够更加简洁地编写动态网页。下面我们将深入探讨这些标签及其用法。 1. JSTL(JavaServer Pages Standard Tag Library) -...
这里,`StringTag`是TLD文件中定义的短名称,`getShort`是自定义函数的名字,`str`是传递给该函数的参数。 总结:JSTL是JSP开发的强大工具,提供了诸如循环、条件判断、字符串操作等实用功能,并允许开发者创建...
JSTL1是JSTL的第一个版本,它提供了一系列预定义的标签,使得开发者可以更加便捷地处理常见的服务器端任务,而无需编写大量的Java脚本或自定义标签库。 JSTL的核心在于它的标签库,主要包括以下几个部分: 1. **...
JSP的转换过程、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用、以及自定义标签可能都是练习的重要内容。 3. **JavaBeans**:JavaBeans是一种符合特定设计模式的Java类,通常...
JSTL包含了一系列的标签,如`fmt`(国际化)、`fn`(函数)、`sql`(数据库操作)和`c`(控制流)等。 4. **EJB(Enterprise JavaBeans)API**:EJB是J2EE的核心组件模型,用于构建可部署在服务器端的业务逻辑。EJB...
3. **标签体内容**:除了函数形式的自定义标签外,还可以创建具有标签体的自定义标签,这些标签可以包含更复杂的逻辑。例如,创建一个显示列表项的自定义标签: ```jsp ``` #### 四、小结 通过...
- **知识点总结:**TCP/IP是互联网中最基本且最核心的协议之一,它定义了数据如何在网络之间传输。 **2. CGI(通用网关接口)是哪一侧的编程解决方案?** - **选项解析:** - **a) ClientSide (客户端侧)**: 指...
### J2EE课程总结 #### 数据库:Oracle **1. Oracle SQL基础知识** - **选择行**:通过`SELECT`语句结合`WHERE`子句来实现特定条件下的数据筛选。 - **限制选择行**:利用`LIMIT`或`ROWNUM`来限制返回结果的数量...
* 函数库的使用 * 自定义函数库 * 定义类和方法(必须定义为public static) * 编写tld文件,并且将tld文件放到WEB-INF下 * 在jsp中使用taglib指令引入自定义标签库 * 直接使用即可 <br> ...
2. **异常处理**:熟悉try-catch-finally语句块,理解异常类层次结构,以及如何自定义异常。 3. **集合框架**:深入理解ArrayList、LinkedList、HashSet、HashMap等集合类的特性和使用场景。了解Collection和Map...
3. **可扩展性**:JSTL支持自定义标签库,可以根据项目需求创建自己的标签。 4. **标准化**:作为Java EE的一部分,JSTL遵循统一的标准,跨平台兼容性好。 总结来说,Jakarta Taglibs Standard 1.1.2是一个重要的...
- `taglib`:引入自定义标签库。 4. **JSP脚本元素**: - `<% %>`:Java代码块。 - `! %>`:声明。 - `<%= %>`:表达式。 5. **JSP动作元素**: - `<jsp:forward>`:页面转发。 - `<jsp:include>`:动态包含...
- **自定义标签**:指导如何创建自定义标签来封装复杂数字代码。 - **EL(表达式语言)**:介绍如何使用EL来访问JavaBeans属性和执行算术运算。 - **JSTL: JavaServer Pages Tag Libraries**:介绍一组标准标签库,...
- **JSP高级特性**:学习自定义标签、EL表达式、JSTL标签库等高级功能,提升Web开发效率。 #### 六、MVC框架:Struts与JSF - **Struts框架**:理解Struts的工作原理,掌握其标签库、国际化和异常处理机制。 - **...