最近一直在琢磨着怎么扩展我的[url=http://www.iteye.com/news/4009-jsel]JSEL[/url]语法。想去支持静态函数调用。想到JSP EL中的函数定义方法。
JSP中可以给一批函数,定义在一个命名空间中。调用语法如下。
但是JSEL中我已经打算支持直接的全局函数调用,比如我可以直接支持JS中的parseInt,isNaN等全局函数。
如此一来,我需要同时支持两种语法。
如此一来,问题出来了:
如何解释呢?
语义一:
语义二:
都有道理,不知道改如何去做了。
JSP中可以给一批函数,定义在一个命名空间中。调用语法如下。
fn:substr('1234',1,1)//返回'3'但是JSEL中我已经打算支持直接的全局函数调用,比如我可以直接支持JS中的parseInt,isNaN等全局函数。
如此一来,我需要同时支持两种语法。
parseInt()。
myfn:parseInt()。如此一来,问题出来了:
xxx ? fn:method1() + fn:method(2)如何解释呢?
语义一:
xxx ?
fn:
method1() + fn:method(2)语义二:
xxx ?
fn:method1() + fn
:method(2)都有道理,不知道改如何去做了。
本文讨论了JSEL语法扩展的问题,特别是如何支持静态函数调用。作者考虑借鉴JSPEL中的函数定义方法,并提出了一些可能的语法选项。但随之而来的是如何解决不同语法之间的冲突问题。
962

被折叠的 条评论
为什么被折叠?



