tld描述文件的不同寻常的用法

本文介绍了一种在TLD文件中定义函数的方法,并通过实例展示了如何将类的方法描述在TLD文件中,以便EL表达式可以调用这些方法。这是一种不常见的TLD使用方式,但了解它可以扩展Java Web开发的知识面。

   今天在公司的一个项目中看到一个很有意思的代码(也有可能是我孤陋寡闻,反正我是第一次见到)和大家分享一下。

做过java标签开发的人都应该对tld文件不陌生,TLD(标签库描述符)文件,每个标签都必须在一个TLD文件中声明,而且这一文件还必须连同标签的Java处理器类一起被部署。它大体的结构一般为:

<tag>
    <name>showUserInfo</name>
    <tag-class>com.mytags.UserInfoTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
        <name>flag</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
    </attribute>
 </tag>

              可是我今天却看到了不一样的定义格式如下:

             

<function>
 <name>show</name>
 <function-class>com.mytags.UserInfo</function-class>
 <function-signature>java.lang.Boolean func(java.lang.String,.java.lang.String)</function-signature>
</function>

看到这里后我一头雾水,什么情况呀?还可以这样?……

自己开始百度了一下,才知道原来在tld文件中也可把一个类的方法描述出来,提供给EL表达式调用,不过这个方法好像只能是静态的方法,页面中用EL表达式的调用方法是:

${**:show(“test1”, 'test2') },注意:**代表你tld文件中定义的<short-name>的值。

2013/9/5 在此做个记录

转载于:https://my.oschina.net/mn1127/blog/161101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值