码迷,mamicode.com
首页 > 其他好文 > 详细

EL和函数库

时间:2014-05-19 15:54:18      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   java   

问题:在数据显示的时候经常需要调用一些方法对需要显示的数据进行基本的处理,如:

数据过滤、求子串等操作。那么就需要使用EL表达式进行快速的函数调用。

  1. 引入HTMLFilter.java类
  2. 描述为函数

2.1 在WEB-INF中创建一个myfun.tld文件

bubuko.com,布布扣
 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>  
bubuko.com,布布扣
类 cn.itcast.utils.HTMLFilter
bubuko.com,布布扣
 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("&lt;");
12                 break;
13             case ‘>‘:
14                 result.append("&gt;");
15                 break;
16             case ‘&‘:
17                 result.append("&amp;");
18                 break;
19             case ‘"‘:
20                 result.append("&quot;");
21                 break;
22             default:
23                 result.append(content[i]);
24             }
25         }
26         return (result.toString());
27 
28     }
29 }
bubuko.com,布布扣

 

1.2    引入函数库

%@taglib uri="/WEB-INF/myfuns.tld" prefix="jnb"%

1.3    使用EL调用函数

<td>${jnb:filter(entry.value.info)}</td>

注意:

  1. EL表达式中不能继续嵌套EL表达式
  2. 定义函数的时候函数必须是静态的。

EL和函数库,布布扣,bubuko.com

EL和函数库

标签:style   blog   class   code   c   java   

原文地址:http://www.cnblogs.com/friends-wf/p/3735097.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!