文档详情

EL调用Java方法.pdf

发布:2017-10-16约8.73千字共9页下载文档
文本预览下载声明
EL 调用 Java 方法 简单来说,我们在一个类中的某个方法,可以使用 EL 进行调用,这个能被 EL 表达式调用的方法称之为 EL 函数,但是这种 方式必须满足以下两点要求: ① 在 EL 表达式中调用的只能是 Java 类的静态方法 ② 这个 Java 类的静态方法需要在我们另外在自定义的 TLD 文件中描述 满足以上两点才能被 EL 表达式调用。 语法: ${prefix:方法名(参数列表) } 例 1 :使用EL 函数来实现 HTML 语言的过滤转义 在 web 工程中自定义一个 HTMLFilter 类,同时定义一个静态的 filter 方法: 1 package com.bjpowernode.filter; 2 public class HtmlFilter { 3 4 public static String filter(String message) { 5 6 if (message == null) 7 return (null); 8 9 char content[] = new char[message.length()]; 10 message.getChars(0, message.length(), content, 0); 11 StringBuilder result = new StringBuilder(content.length + 50); 12 for (int i = 0; i content.length; i++) { 13 switch (content[i]) { 14 case : 15 result.append(lt;); 16 break; 17 case : 18 result.append(gt;); 19 break; 20 case : 21 result.append(amp;); 22 break; 23 case : 24 result.append(quot;); 1 / 9 25 break; 26 default: 27 result.append(content[i]); 28 } 29 } 30 return (result.toString()); 31 32 } 33 } 这个类中的filter 方法能将 HTML语言转换为普通的字符串,当然这个类和方法在Tomcat 中也有示例,路径为【Tomcat】 【webapps】 【examples】 【WEB-INF】 【classes】 【utils】,找到 HTMLFilter.java 就是了。 好了我们已经有静态的方法了,现在需要在 TLD 文件中对这个方法进行描述才能在 JSP 中使用。 TLD 文件需要在 “WEB-INF”文件中创建和定义,在哪里找模板呢,依然可以到 Tomcat 中寻找。在【Tomcat】 【webapps】 【examples】 【WEB-INF】 【jsp2 】中有一个 “jsp2-example-taglib.tld”文件,我们就可以 对这个文件复制其 “首尾”啦。 在 web 工程下建立 “elfunction.tld”文件,从 “jsp2-example-taglib.tld”文件模板中抄首抄尾,其中function标 签也是我们需要的: 1 ?xml version=1.0 encoding=UTF-8 ? 2 taglib xmlns =/xml
显示全部
相似文档