创建自定义标记时,我们可以按如下方式定义它们:
/WEB-INF/tags/widget/sample1.tag
或/WEB-INF/tags/widget/sample2.tag
<%@ taglib prefix="w" tagdir="/WEB-INF/tags/widget"%>
<w:sample/>
或<w:sample2/>
无需在任何XML或TLD文件上定义它们。 (我使用的是tomcat 7,我认为这是一个JSP 2功能。)
但是,为了定义自定义EL函数,我发现该函数应该在TLD文件中定义为:
<function>
<name>randomColor</name> <!-- Will be used to call your El Function: ${myTagLibrary:randomColor()} inside your JSP page -->
<function-class>foo.RandomColorGenerator</function-class>
<function-signature>String pickRandomColor()</function-signature>
</function>
我们有没有办法定义一个函数,而不在TLD文件中定义它?
PS:该项目不使用JSF。