1.建立java类的静态函数

package chapter4;

public class ELFun {
public static String processStr(String s){
s = s.replaceAll("<", "&lt");
s = s.replaceAll(">", "&gt");
s = s.replaceAll(" ", " ");
return s;
}
}

在WEB-INF目录中建立一个tld目录,然后再目录中建立一个elfun.tld文件

<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<jsp-version>2.1</jsp-version>
<description>用于转换特殊字符</description>
<uri>myelfun</uri> <!-- 定义URI -->
<function>
<name>ps</name>
<function-class>chapter4.ELFun</function-class>
<function-signature>
java.lang.String processStr(java.lang.String)
</function-signature>
</function>
</taglib>

修改web.xml文件,添加如下代码

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

建立一个elfun.jsp文件,需要在声明中导入tld文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tld/elfun.tld" prefix="elfun" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head> </head> <body>
<input type='text' name='text'/>
${elfun:ps("<input type='text' name='text'/>") }
</body>
</html>

除了使用tld文件的路径引用tld文件外,还可以使用在tld文件中定义的url引用tld文件

例如:<%@ taglib uri="elfun" prefix="elfun" %>

但为了避免冲突,url在外发布时最好带上域名,例如http://www.sun.com/myelfun

如果使用路径引用tld文件,tld文件可以放到web工程中的任何目录下,并且无需重新服务器即可生效。

如果使用url来引用tld文件,tld文件必须放到web-inf目录中或web-inf目录的子文件中,包括lib和classes目录,且必须重新服务器或重新发布web工程。

最新文章

  1. C标准头文件&lt;string.h&gt;
  2. Redis 无法正常关闭服务
  3. golang基础知识之encoding/json package
  4. ios透明代理抓包
  5. 001_从原理上搞定编码-- Base64编码
  6. web可用性测试
  7. HDU 5818:Joint Stacks(stack + deque)
  8. c# xml的增删改查操作 xmlDocument 的用法
  9. cocos2d下,优秀骨骼spine的换装思路
  10. Linux02--文件系统与磁盘管理
  11. Preemption Context Switches 和 Synchronization Context Switches
  12. RabbitMQ学习2---使用场景
  13. LeetCode 643. Maximum Average Subarray I (最大平均值子数组之一)
  14. 系统内置委托:Func/Action
  15. 事件绑定与解除js
  16. ubuntu下,python2.7安装mysqlldb驱动方法
  17. CSS--position:relative和position:absolute
  18. 【转】采用dlopen、dlsym、dlclose加载动态链接库
  19. hashCode()方法 和 hash()方法
  20. C++ 运算符的重载

热门文章

  1. iOS-BLE蓝牙开发
  2. js添加删除元素
  3. spring拦截器的定义
  4. BZOJ 2762: [JLOI2011]不等式组( 平衡树 )
  5. linux杂记(?)命令别名——alias
  6. NetWare
  7. sublime模式下开启vim并修改esc
  8. codeforces 632E. Thief in a Shop fft
  9. java中三种常见内存溢出错误的处理方法
  10. qcow2、raw、vmdk等镜像格式