首页 > 代码库 > EL和函数库
EL和函数库
问题:在数据显示的时候经常需要调用一些方法对需要显示的数据进行基本的处理,如:
数据过滤、求子串等操作。那么就需要使用EL表达式进行快速的函数调用。
- 引入HTMLFilter.java类
- 描述为函数
2.1 在WEB-INF中创建一个myfun.tld文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <taglib xmlns="http://java.sun.com/xml/ns/j2ee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" 5 version="2.0"> 6 <tlib-version>1.0</tlib-version> 7 <short-name>jnb</short-name> 8 <function> 9 <name>filter</name> 10 <function-class>cn.itcast.utils.HTMLFilter</function-class> 11 <function-signature>java.lang.String filter(java.lang.String)</function-signature> 12 </function> 13 </taglib>
类 cn.itcast.utils.HTMLFilter
1 public final class HTMLFilter { 2 public static String filter(String message) { 3 if (message == null) 4 return (null); 5 char content[] = new char[message.length()]; 6 message.getChars(0, message.length(), content, 0); 7 StringBuffer result = new StringBuffer(content.length + 50); 8 for (int i = 0; i < content.length; i++) { 9 switch (content[i]) { 10 case ‘<‘: 11 result.append("<"); 12 break; 13 case ‘>‘: 14 result.append(">"); 15 break; 16 case ‘&‘: 17 result.append("&"); 18 break; 19 case ‘"‘: 20 result.append("""); 21 break; 22 default: 23 result.append(content[i]); 24 } 25 } 26 return (result.toString()); 27 28 } 29 }
1.2 引入函数库
%@taglib uri="/WEB-INF/myfuns.tld" prefix="jnb"%
1.3 使用EL调用函数
<td>${jnb:filter(entry.value.info)}</td>
注意:
- EL表达式中不能继续嵌套EL表达式
- 定义函数的时候函数必须是静态的。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。