1. 实现函数类
JSTL对函数类没有任何要求,只要求方法类是公开的,方法必须是静态的、公用的方法。下面是这个函数实现的代码,把它编译后放到 WEB-INF\classes\demo 目录下。
package demo;
/**
* 用于JSTL的函数类
* @author Winter Lau
*/
public class EmailFunction {
/**
* 转换EMAIL地址为链接的形式
* @param email
* @return
*/
public static String emailLink(String email){
StringBuffer sb = new StringBuffer();
sb.append("
sb.append(email);
sb.append("\">");
sb.append(email);
sb.append("
");
return sb.toString();
}
}
2. 描述文件
接下来我们必须通知JSTL怎么来使用这个函数,跟标签库一样,我们必须编写一个tld文件,姑且把文件名叫做email.tld,该文件存放在{webapp}/WEB-INF目录下,该文件中包含对该函数的说明,文件如下:
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">
Demo
Email functions
1.1
http://www.javayou.com/dev/jsp/jstl/mail
用于将电子邮件转成链接形式
emailLink
demo.EmailFunction
java.lang.String emailLink(java.lang.String)
${mail:emailLink("javayou@gmail.com")}
3. 测试页面
万事俱备,接下来就是这个测试页面了,页面的代码如下
Click ${em:emailLink("javayou@gmail.com")} to feedback.
打开浏览器运行该页面,显示的结果如下:
Click javayou@gmail.com to feedback.