yxhxj2006

常用链接

统计

最新评论

jstl标签调用java类的方法

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.



 

posted on 2014-01-15 01:09 奋斗成就男人 阅读(2880) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: