自定义EL函数和自定义标签有什么区别?

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
一个自定义的EL函数,如:${my:reverse(param["foo"])};一个自定义的标签,如:<my:reverse value="${param["foo"]}"/>。使用自定义EL函数时只需在JSP代码中输入<%@ taglib prefix="my"uri="myuri1"%>即可;使用自定义标签时同样也是需要在JSP代码中输入<%@ taglib prefix="my"uri="myuri2"%>。这个myuri1或myuri2都是在web.xml中定义好的。如:<jsp-config><taglib><taglib-uri>myuri1</taglib-uri><taglib-location>/WEB-INF/jsp2/jsp2-example-taglib.tld</taglib-location></taglib></jsp-config>然后再在这个tld里写入class的路径。如:<function><description>Reverses the characters in the given String</description><name>reverse</name><function-class>jsp2.examples.el.Functions</function-class><function-signature>java.lang.String reverse( java.lang.String )</function-signature></function>然后再写Java文件,编译成class放在jsp2\\examples\\el\\Functions.class就可以了。Java的内容我在这就省略了。我感觉自定义EL函数怎么和自定义标签差不多呢。至少使用的时候完全一样。上面我写的是自定义EL函数的全过程。自定义标签和这个有什么区别呢?

                                                                                                EL表达式是可以应用到标签中,而不能独立在网页中存在的.自定义标签则不能应用到自身当中,但可以独立在网页中存在.比如你第一个例子是无法独自存在于JSP页面的,而第二个可以,第二个中又应用了EL表达式.EL表达式与自定义标签虽然调用方法相同,但应用的范围是不同的.                                       
提问者对答案的评价:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行