0

我是一个 JSP 新手,我知道有一些 taglib 文件,因为我知道它们是一些自定义的 JSP 标签。这是一段我不明白的javascript代码:

Polygon.viewPoint = function( index ){  
        window.${ec:safeId('polygon.view')}.Point( Page.ListofPoints.elements[index], index, 100 );
        Page.changeRowColor('row_'+index);
        Page.getProximityList( index );         
        Page.infoWindowLocation = Page.ListofPoints.elements[index];
    }

javascript问题并不是那么重要,我感兴趣的是这部分${ec:safeId('poygon.view')} 我知道这部分是某种变量,并且是从某个地方注入的。可能从这里开始<%@ taglib uri="/WEB-INF/tld/tagli-ec.tld" prefix="ec"%>,也可能不是......有人可以解释一下这个 $ 后窗口是什么......它代表什么?

4

1 回答 1

1

首先,${}语法是EL(表达式语言)语法。如果您熟悉 Scriptlets,这就像<%= %>语法,或者在 PHP 的情况下是<?= ?>语法(尽管在未来的版本中不推荐使用)。它基本上只是在将响应发送到客户端之前访问并打印服务器端的服务器端控制变量。如果您在网络浏览器中执行“查看源代码”,您会看到它已经被解析/评估。

然后是${tagprefix:functionname}表示EL 函数的语法。简而言之,这使您能够定义静态 Java 方法,该方法接受一些参数并返回结果,然后可以在 EL 中访问这些结果。JavaRanch对此有一个很好的常见问题解答。例如,JSTL 也有一个非常有用的functions标记库。

于 2009-11-04T16:09:48.017 回答