近期做项目,使用JSTL对字符串进行编码,发现没有该函数来实现,无果情况下,只能自己DIY JSTL标签了,废话不多说,直接开始吧。
首先编写一个类CommonUtil.java,里边放置了对字符串编码、解码的方法。保证方法必须是静态的public方法。
package com.iteye.wangking717.util;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
public class CommonUtil {
public static String encoder(String source,String charset){
try {
return URLEncoder.encode(source,charset);
} catch (UnsupportedEncodingException e) {
return "";
}
}
public static String decoder(String source,String charset){
try {
return URLDecoder.decode(source,charset);
} catch (UnsupportedEncodingException e) {
return "";
}
}
}
编写tld文件,建立一个文件,名称为lbs.tld,放在WEB-INF下面。
<?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>Custom Functions</description>
<tlib-version>1.0</tlib-version>
<short-name>custom</short-name>
<uri>/customFunction</uri>
<function>
<name>encoder</name>
<function-class>com.iteye.wangking717.util.CommonUtil</function-class>
<function-signature>java.lang.String encoder(java.lang.String,java.lang.String)</function-signature>
<example>${custom.encoder('','')}</example>
</function>
<function>
<name>decoder</name>
<function-class>com.iteye.wangking717.util.CommonUtil</function-class>
<function-signature>java.lang.String decoder(java.lang.String,java.lang.String)</function-signature>
<example>${custom.decoder('','')}</example>
</function>
</taglib>
编写jsp页面,需要在头部指明引用的tld标签。
<%@ taglib prefix="custom" uri="/customFunction" %>
${custom:encoder(username,'UTF-8')}
wangking717 写道
通过以上的三步即可完成自定义标签的编写。当然这个比较简单。需要的同仁可以尝试下。顺便AD下本人的新站:礼品网,欢迎拍砖哈。
分享到:
相关推荐
为了增强其功能性和灵活性,JSP支持自定义标签(Custom Tags),这些标签可以封装复杂的操作,使得页面代码更加简洁且易于维护。IBM 自定义标签课件旨在为初学者提供深入理解JSP自定义标签的基础和实践方法。 #### ...
- **文档注释**:为自定义标签编写清晰的文档注释,这将帮助其他开发者理解标签的用途、输入参数和预期行为。 通过上述步骤和技巧,可以有效地创建和使用JSP自定义标签,提高开发效率,增强代码的可维护性。
JSTL是JSP的一个扩展库,提供了一系列自定义标签,用于处理Java中的常见任务,例如迭代、条件判断、国际化和数据库访问等,而不必将Java代码嵌入到JSP页面中。 从部分内容中提到的JavaServer Pages™ Standard Tag ...
因为一些程序员使用不支持异常处理语言编程时,往往拖延或忘记错误处理程序的编写,故,Java强制程序员从项目一开始就着手进行异常处理,程序员必须投入很大精力把异常处理的策略融合到软件产品中<BR>11、 ...
它们遵循Java EE规范,为开发人员提供了一种标准化的方式来声明和使用自定义标签。 JSTL 1.0 和 JSTL 1.1 都是早期的版本,它们之间的主要区别在于功能的完善和性能的优化。JSTL 1.1 添加了一些新特性,比如对XML...
TLD文件是JSP规范的一部分,它定义了自定义标签的行为和用途。当JSP容器解析一个JSP页面时,会查找页面中使用的标签对应的TLD文件,从而理解这些标签如何运作。在项目中包含JSTL 1.1的TLD文件,可以确保即使在没有...
JSTL(JavaServer Pages Standard Tag Library,JavaServer Pages 标准标签库)是一组由 Sun Microsystems 提供的标准标签库,它允许开发者在 JSP 页面中使用预定义的行为而无需编写自定义标签。JSTL 的引入极大地...
### EL表达式与JSP JSTL标签库的总结 #### 一、EL表达式的使用方法及示例 ...此外,还简要介绍了JSTL标签库的核心标签,如输出、条件判断和循环等功能。通过这些工具,开发者可以更高效地进行Web应用开发。
JavaServer Pages Standard Tag Library (JSTL) 是一套用于简化JSP开发的标签库,它提供了许多预定义的标签,让开发者能够以更简洁、更易于理解和维护的方式编写JSP页面。JSTL的主要目标是减少在JSP页面中使用脚本...
总的来说,JSTL 1.1 TLD文档是开发者理解和使用JSTL的关键参考资料,它详尽地介绍了每个标签库的用途、标签的功能及其配置选项。通过仔细研究这些文档,开发者能够熟练地利用JSTL来构建高效、模块化的JSP应用。
JSTL 1.0版本发布于2002年6月,主要包含了四个自定义标记库:`core`、`format`、`xml`和`sql`,以及两个通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)。这些库提供了丰富的功能,帮助开发者更加高效地...
JSTL的主要优点在于它的可扩展性,开发者可以自定义标签库来满足特定需求。此外,JSTL还支持国际化和本地化,使得网站可以轻松适应不同地区的用户。 在导入Web项目时,如果JSP页面报错,很可能是缺少了这些库文件的...
- 进一步探讨高级主题,如编写自定义标签、优化性能等。 #### 附录 - **附录A:JSTL标签概览** - 提供所有JSTL标签的简明参考。 - **附录B:JSTL API** - 详细列出JSTL API,并解释其中的一些高级特性。 - **...
然后就可以像使用JSTL标签一样使用自定义标签了: ```jsp ``` 这个过程涉及到的知识点包括: 1. JSP自定义标签库的概念和作用。 2. TLD文件的结构和用途,如何定义标签和属性。 3. 自定义标签的Java实现,包括...
- **提高开发效率**:预定义的标签使得开发者可以快速实现常见功能,无需编写大量的自定义脚本。 - **更好的分离关注点**:JSTL有助于实现MVC(Model-View-Controller)架构,使开发者能更专注于各自的角色。 总结...
在Web开发领域,DOM4J、JSTL、BeanUtils和Log4j是四个非常重要的工具库,它们各自为开发者提供了强大的功能支持。下面将详细解释这些库的主要用途和使用方法。 1. DOM4J: DOM4J是一个Java库,用于处理XML文档。它...
Struts2的标签库是基于JSP标准标签库JSTL的扩展,提供了丰富的自定义标签,这些标签可以帮助开发者更好地处理表单、验证、国际化等任务。标签库分为多个部分,如核心标签库、显示标签库、表单标签库等,每个库都有...
3. 学习如何自定义标签库,以满足特定项目需求。 4. 探索各种框架的集成方式,如Spring与Hibernate的整合,以充分利用标签库的优势。 5. 关注最新的标签库和框架更新,保持技术的前沿性。 总的来说,"java web 标签...
Struts Bean标签库是Apache Struts框架提供的一个JSP自定义标签集合,它基于JSP标准标签库JSTL,并且扩展了一些针对MVC模式中模型层对象的操作。这个库的主要目标是帮助开发者在JSP页面上更加方便地处理Bean对象,...
与自定义标签相比,JSTL 提供了一种更加结构化、可读性更强的方式来编写JSP页面,减少了对脚本元素的依赖,提高了代码的可维护性和可重用性。 **Jakarta Taglibs Standard 1.1.2 包含的组件** Jakarta Taglibs ...