JSTL标签调用JAVA类方法

1 篇文章 0 订阅
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("<a href=\"mailto:");
sb.append(email);
sb.append("\">");
sb.append(email);
sb.append("</a>");
return sb.toString();
}

}

2. 描述文件

接下来我们必须通知JSTL怎么来使用这个函数,跟标签库一样,我们必须编写一个tld文件,姑且把文件名叫做email.tld,该文件存放在{webapp}/WEB-INF目录下,该文件中包含对该函数的说明,文件如下:

<?xml version="1.0" encoding="GB2312" ?>

<taglib xmlns=" http://java.sun.com/xml/ns/j2ee"
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">

<description>Demo</description>
<display-name>Email functions</display-name>
<tlib-version>1.1</tlib-version>
<short-name>mail</short-name>
<uri> http://www.javayou.com/dev/jsp/jstl/mail

<function>
<description>
用于将电子邮件转成链接形式
</description>
<name>emailLink</name>
<function-class>demo.EmailFunction</function-class>
<function-signature>java.lang.String emailLink(java.lang.String)</function-signature>
<example>
${mail:emailLink("javayou@gmail.com")}
</example>
</function>

</taglib>

3. 测试页面

万事俱备,接下来就是这个测试页面了,页面的代码如下

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="em" uri=" http://www.javayou.com/dev/jsp/jstl/mail" %>

Click ${em:emailLink("javayou@gmail.com")} to feedback.

打开浏览器运行该页面,显示的结果如下:

Click javayou@gmail.com to feedback.

源自:http://www.blogjava.net/yxhxj2006/archive/2014/01/15/408951.html

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值